=================================================== J1939Tp =================================================== 文档信息 =================================================== 版本历史 --------------------------------------------------- .. list-table:: :header-rows: 1 :stub-columns: 1 * - 日期(Date) - 作者(Author) - 版本(Version) - 状态(Status) - 说明(Explain) * - 2025/03/28 - haibin.shao - V0.1 - 发布(Release) - 首次发布(First Release) * - 2025/04/04 - haibin.shao - V1.0 - 发布(Release) - 正式发布(Official Release) 参考文档 --------------------------------------------------- .. list-table:: :header-rows: 1 :stub-columns: 1 * - 编号(Serial Number) - 分类(Classification) - 标题(Title) - 版本(Version) * - [1] - SAE - J1939_21_201810.pdf - CAN Data Link Layer * - [2] - SAE - J1939_73_201705.pdf - Diagnostics Message Services Layer * - [3] - Autosar - AUTOSAR_RS_Diagnostics.pdf - R19-11 * - [4] - Autosar - AUTOSAR_SRS_SAEJ1939.pdf - R19-11 * - [5] - Autosar - AUTOSAR_SWS_SAEJ1939TransportLayer.pdf - R19-11 * - [6] - Autosar - AUTOSAR_SWS_SAEJ1939RequestManager.pdf - R19-11 * - [7] - Autosar - AUTOSAR_SWS_SAEJ1939DiagnosticCommunicationManager.pdf - R19-11 * - [8] - ISO - SAE-J1939Dcm diagnostic services - Application Layer - Release 2017-05 术语与缩略语(Terms and Acronyms) =================================================== 术语(Terms) --------------------------------------------------- .. list-table:: :header-rows: 1 :stub-columns: 1 * - 术语(Terms) - 解释(Explanation) - 英译(English translation) * - Parameter - SAE J1939中针对信号的术语,包含已定义的量程、限值、偏移量和物理单位。 - The terminology for signals in SAE J1939 includes defined ranges, limits, offsets, and physical units. * - Parameter Group - 参数组是SAE J1939应用层消息;每个参数组包含多个参数,且通过参数组编号进行唯一标识。 - The parameter group is an application layer message of SAE J1939; each parameter group contains multiple parameters and is uniquely identified by the parameter group number. * - SAE J1939 - 由SAE制定的商用车网络串行控制与通信标准。 - The serial control and communication standard for commercial vehicle networks formulated by SAE. * - SAE J1939 Diagnostics - SAE J1939诊断层在标准文档[SAE J1939-73]中定义。J1939诊断在功能上与UDS诊断类似,且近期已扩展至支持与排放相关值的OBD检测。 - The SAE J1939 diagnostic layer is defined in the standard document [SAE J1939-73]. The J1939 diagnostic function is similar to the UDS diagnostic, and it has recently been extended to support OBD testing for emission-related values. * - Lamp Status - 指示灯状态包含关于当前激活故障严重程度的信息,并作为诊断消息的一部分进行传输。 - The status of the indicator lights contains information about the severity of the current activation failure and is transmitted as part of the diagnostic message. * - MetaData - 与PDU(协议数据单元)一同传输的元数据,由一组元数据项构成。 - The metadata transmitted together with the PDU (Protocol Data Unit) is composed of a set of metadata items. * - MetaDataItem - SAE J1939协议栈数据传输层中,具有已定义类型、大小的单个元数据项。 - In the data transmission layer of the SAE J1939 protocol stack, there are individual metadata items with defined types and sizes. * - SAE J1939-21 - 由SAE制定的CAN 2.0数据链路层,以及SAE J1939协议栈的数据传输层。 - The CAN 2.0 data link layer formulated by SAE, as well as the data transmission layer of the SAE J1939 protocol stack. * - SAE J1939-73 - 由SAE制定的诊断管理层。 - The diagnostic management layer as formulated by SAE. * - SAE J1939-81 - 由SAE制定的网络管理层。 - The network management layer established by SAE. 缩略语(Acronyms) --------------------------------------------------- .. list-table:: :header-rows: 1 :stub-columns: 1 * - 缩略语(Acronyms) - 全称(Full Name) - 解释(Explanation) * - SAE - Society of Automotive Engineers - 美国汽车工程师学会 * - API - Application Programming Interface - 应用编程接口 * - CAN - Controller Area Network - 控制域网络协议 * - CanIf - CAN Interface - CAN通信接口层 * - TP - Transport Protocol - 分段传输协议 * - Det - Default Error Tracer - 开发/运行时错误报错追踪模块 * - PduR - Pdu Router - Pdu路由模块 * - ComM - Communication Manager - 通信管理层 * - EcuM - ECU State Manager - ECU状态管理器 * - BswM - Basic Software Module - 基础软件模块 * - CanTp - CAN Transport Layer - CAN传输层 * - J1939Tp - SAE-J1939 Transport Layer - 基于J1939协议栈的实现消息传输层的模块 * - J1939Nm - SAE-J1939 Networks Manager - 基于J1939协议栈的实现网络管理的模块 * - J1939Rm - SAE-J1939 Request Manager - 基于J1939协议栈的实现请求管理的模块 * - J1939Dcm - SAE-J1939 Diagnostic Communication Manager - 基于J1939协议栈的实现诊断通信管理的模块 * - SchM - Basic Software Schedule Manager - 基础软件调度管理 * - ID - Identifier - 识别编号 * - DP - Data Page - 数据页 * - EDP - Data Extend Page - 扩展数据页 * - PRI - Priority - 优先级 * - PDUF - PDU Format - PDU格式 * - PDUS - PDU Specific - PDU特定 * - Pdu - Protocol Data Unit - 协议数据单元 * - ACK - acknowledgement - 应答确认的回复 * - PACK - Positive response - 积极响应的确认 * - NACK - Negative response - 否定响应的确认 * - DLC - Data Length Code - 数据长度代码 * - BAM - Broadcast Announce Message - 广播公告消息 * - CMDT - Connection Mode Data Transfer - 连接模式或点对点的数据传输 * - BswM - Basic Software Mode Manager - 基础软件模块管理 * - DA - Destination Address - 目的地址 * - SA - Source Address - 源地址 * - PG - Parameter Group - 参数组 * - PGN - Parameter Group Number - 参数组编号 * - PDU1 - J1939 PDU Type 1, this kind of PG can be sent to a specific destination address - J1939-PDU类型1 * - PDU2 - J1939 PDU Type 2, this kind of PG can only be sent as broadcast - J1939-PDU类型2 * - TP.CM - Connection Management message (PGN = 0x0EC00) used by SAE J1939 transport protocol,corresponds to an N-PDU of J1939Tp - SAE-J1939传输协议使用的连接管理消息,对应于J1939Tp的N-PDU * - TP.CM_BAM - Broadcast Announce Message, variant of TP.CM that initiates a BAM transmission - 广播公告讯息, TP.CM的变体,用于启动BAM传输 * - TP.CM_RTS - Connection  Mode Request To Send, variant of TP.CM that initiates a CMDT transmission - 连接模式发送请求,启动CMDT传输的TP.CM的变体 * - TP.CM_CTS - Connection  Mode Clear To Send, variant of TP.CM that is used for handshake during CMDT transmission - 连接模式清除发送,在CMDT传输过程中用于握手的TP.CM的变体 * - TP.CM_EndOfMsgAck - End Of Message Acknowledge, variant of TP.CM that acknowledges correct reception of a CMDT transmission - 消息结束确认,TP.CM的变体,用于确认正确接收了CMDT传输 * - TP.CM_ConnAbort - Connection Abort, variant of TP.CM that terminates a CMDT transmission - 连接中止,TP.CM的变体,终止CMDT传输 * - TP.DT - The Data Transfer message used by SAE J1939 transport protocol, corresponds to an N-PDU of J1939Tp - SAE-J1939传输协议使用的数据传输报文,对应于J1939Tp的N-PDU J1939传输层的简介(Introduction to the J1939 Transport Layer) ================================================================== SAE-J1939传输层用于响应网络中的BAM和CMDT请求,建立会话连接,对接收的多包数据进行重组或者对要发送的大数据进行拆包;同时也可以对请求长度进行鉴别,实际运行时不到8字节的短帧按照Direct的传输方式进行发送。 The SAE-J1939 transport layer is used to respond to BAM and CMDT requests in the network, establish session connections, reassemble received multi-packet data or unpack large data to be sent; at the same time, it can also verify the length of the request. During actual operation, short frames less than 8 bytes are sent in the direct transmission mode. SAE-J1939传输层组件需要实现功能:基本原理&功能、模块初始化&关机、与底层交互的通信、会话处理、N-SDU接收,N-SDU发送、CAN总线的数据流、N-SDU的缓冲区管理、N-SDU与N-PDU的关系、N-PDU填充、意外到达N-PDU的处理以及错误检测: The SAE-J1939 transport layer component needs to implement the following functions: basic principles & functions, module initialization & shutdown, communication with the underlying layer, session handling, N-SDU reception, N-SDU transmission, data flow on the CAN bus, N-SDU buffer management, relationship between N-SDU and N-PDU, N-PDU padding, handling of unexpected arrival of N-PDU, and error detection: .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpInAutosarLayer.png :name: J1939Tp模块的软件架构图 :align: center J1939Tp模块的软件架构图(Software architecture diagram of the J1939Tp module) 如图 :ref:`J1939Tp模块的软件架构图` 所示,J1939Tp模块处于AUTOSAR软件架构中的通信栈服务层,J1939Tp模块与通信栈抽象层的CanIf组件进行交互,与通信栈服务层的PduR组件进行交互。 As shown in the figure, the J1939Tp module is located in the communication stack service layer of the AUTOSAR software architecture. The J1939Tp module interacts with the CanIf component of the communication stack abstraction layer and with the PduR component of the communication stack service layer. .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpAssociationWithPdu.png :name: J1939Tp模块与PDU的流向关联图 :align: center J1939Tp模块与PDU的流向关联图(The flow association diagram of PDUs in the J1939Tp module) 如图 :ref:`J1939Tp模块与PDU的流向关联图` 所示,在AUTOSAR架构下大数据收发除了J1939Tp还有一个CanTp模块,两者实现的功能近似。 As shown in the figure, under the AUTOSAR architecture, for the transmission and reception of big data, in addition to the J1939Tp module, there is also a CanTp module. The functions implemented by these two modules are similar. J1939Tp传输层的数据流提供如下功能点(The data stream of the J1939Tp transport layer provides the following functional points): .. list-table:: :header-rows: 1 :stub-columns: 1 * - 序号(Serial Number) - 功能描述(Function Description) * - 1. - 长度可变数据的分段发送和固定长度数据的直接传输(Segmented transmission of variable-length data and direct transmission of fixed-length data) * - 2. - 长度可变数据接收的重组和固定长度数据的直接接收(Reorganization of variable-length data reception and direct reception of fixed-length data) * - 3. - 数据传输过程中的流控与超时检测机制(The flow control and timeout detection mechanism during data transmission process) * - 4. - 分段和重组过程中的错误检测机制(Error detection mechanism during the segmentation and reorganization processes) J1939传输层的功能描述(Function description of the J1939 transport layer) ================================================================================== J1939Tp传输层的常规处理(The routine processing of the J1939Tp transport layer) ---------------------------------------------------------------------------------- J1939Tp传输层的基本原理(The basic principle of the J1939Tp transport layer): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SAE J1939标准定义了一组参数组,每个参数组包含具有定义的内容和语义的信号。 The SAE J1939 standard defines a set of parameter groups, each of which contains signals with defined content and semantics. 每个PG的具体描述如下(The detailed descriptions of each PG are as follows): .. table:: ParameterGroups :name: ParameterGroups :align: left +-------------------------+----------+-------------------------------------------------------------------+ | Name | symbol | Detailed description | +=========================+==========+===================================================================+ | Payload length type | N/A | maximal number of bytes, fixed or variable size | +-------------------------+----------+-------------------------------------------------------------------+ | Parameter Group Number | PGN | 18 bit value containing the following fields | | | +---------+-----------------------------------------+---------------+ | | | 2 bit | data page information | EDP-DP | | | +---------+-----------------------------------------+---------------+ | | | 8 bit | PDU Format | PDUF | | | +---------+-----------------------------------------+---------------+ | | | 8 bit | PDU Specific | PDUS | +-------------------------+----------+---------+-----------------------------------------+---------------+ PDU1格式:PDU格式< 240的PGN被用于标识点到点消息(PDU1 format: The PDU format with a PGN value less than 240 is used to identify point-to-point messages) PDU2格式:PDU格式>= 240的PGN被用于标识广播消息(PDU2 format: PGN with a PDU format of 240 or above is used to identify broadcast messages) PDU特定:PDU Specific字段仅与广播消息相关;对于点到点消息,它始终为零(PDU Specific: The PDU Specific field is only relevant to broadcast messages; for point-to-point messages, it is always zero) CAN标识符:J1939使用29位扩展CAN标识符来标识每条消息;CAN标识符包含3位优先级、PGN、源地址(SA)和目的地址(DA),仅适用于点对点消息(CAN Identifier: The J1939 protocol uses 29-bit extended CAN identifiers to identify each message; the CAN identifier consists of 3 bits for priority, PGN, source address (SA), and destination address (DA), and is only applicable to point-to-point messages) 通常,ECU只有一个节点地址,在接收消息中用作DA,在发送消息中用作SA。但是,单个ECU也可以同时实现几个不同的J1939节点,每个节点都有自己的节点地址。在这种情况下,ECU接受这些节点地址中的任何一个作为DA,并将定义的节点地址中的任何一个作为SA发送。 Typically, an ECU has only one node address. It is used as DA when receiving messages and as SA when sending messages. However, a single ECU can also simultaneously implement several different J1939 nodes, each with its own node address. In this case, the ECU accepts any of these node addresses as DA and sends any of the defined node addresses as SA. SAE J1939传输层使用两个特殊的点对点消息(由PDU1格式的PGN标识)来传输分段消息,两个消息的长度都是固定的8字节;这些消息在本文档的上下文中称为传输帧。 The SAE J1939 transport layer uses two special point-to-point messages (identified by the PDU1 format of the PGN) to transmit segmented messages. Both messages have a fixed length of 8 bytes; these messages are referred to as transmission frames in the context of this document. TP.CM用于连接管理;有效载荷的第一个字节被用于确定消息的类型: TP.CM is used for connection management; the first byte of the payload is used to determine the type of the message: .. table:: TransmissionFrameType :name: TransmissionFrameType :align: left +------------------------------+--------------------------------------------------------------------------------------------------+ | Transmission frame type | Detailed description | +==============================+====================+=============================================================================+ | Connection Management Frame | TP.CM_BAM | used to initiate a BAM transfer. | | +--------------------+-----------------------------------------------------------------------------+ | | TP.CM_RTS | transmitted to initiate a CMDT transfer. | | +--------------------+-----------------------------------------------------------------------------+ | | TP.CM_CTS | used for flow control during a CMDT transfer. | | +--------------------+-----------------------------------------------------------------------------+ | | TP.CM_EndOfMsgAck | indicates the end of a CMDT transfer. | | +--------------------+-----------------------------------------------------------------------------+ | | TP.Conn_Abort | indicates an error and terminates the CMDT transfer. | +------------------------------+--------------------+-----------------------------------------------------------------------------+ | Data Frame | TP.DT | contains a sequence number in the first byte and 7 bytes of data. | | | +-----------------------------------------------------------------------------+ | | | used for both BAM and CMDT transfers. | +------------------------------+--------------------+-----------------------------------------------------------------------------+ 单个TP.CM或TP.DT帧由特定的CAN标识符标识,用于不同的PG,所传输PG的PGN包含在[SAE J1939-21]中规定的TP.CM帧的有效载荷中。 A single TP.CM or TP.DT frame is identified by a specific CAN identifier and is used for different PGs. The PGN of the transmitted PG is included in the payload of the TP.CM frame as specified in [SAE J1939-21]. CMDT相关传输帧的目的地址(DA)包含有效的节点地址,因此允许点对点连接,而BAM相关传输帧的DA总是设置为0xFF以创建广播连接。 The destination address (DA) of the CMDT-related transmission frame contains a valid node address, thus allowing point-to-point connections. In contrast, the DA of the BAM-related transmission frame is always set to 0xFF to create a broadcast connection. 传输层的基本功能(The basic functions of the transport layer): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 确保一个独特的PDU路由器处理所有J1939 PG,与有效载荷长度类型(可变或固定)无关,J1939Tp用于传输所有长度超过8字节的参数组,与它们的长度是固定的还是可变的无关。 Ensure that a unique PDU router processes all J1939 PGs, regardless of the payload length type (variable or fixed), and that J1939Tp is used to transmit all parameter groups with a length exceeding 8 bytes, regardless of whether their length is fixed or variable. SAE-J1939传输层实现[SAE J1939-21]中定义的两个J1939传输协议变体(The SAE-J1939 transport layer implementation [SAE J1939-21] implements the two J1939 transport protocol variants defined in the specification:): .. table:: TransportProtocolVariant :name: TransportProtocolVariant :align: left +-----------------------------+-----------------------------------------+ | Transport Protocol Variant | Detailed description | +=============================+=========================================+ | BAM | broadcast transmission | +-----------------------------+-----------------------------------------+ | CMDT | point-to-point transmission | +-----------------------------+-----------------------------------------+ J1939传输层的变体支持可配置,可以同时使用BAM和CMDT传输协议变体,或者只使用BAM,或者只使用CMDT。 The variant of the J1939 transport layer supports configuration, allowing the simultaneous use of BAM and CMDT transport protocol variants, or the use of BAM alone, or the use of CMDT alone. J1939传输层对所有N-SDU都使用SOURCE_ADDRESS_16、TARGET_ADDRESS_16、PRIORITY_8类型的MetaData,对所有N-PDU使用CAN_ID_32类型的MetaData。 The J1939 transport layer uses the MetaData of type SOURCE_ADDRESS_16, TARGET_ADDRESS_16, and PRIORITY_8 for all N-SDUs, and uses the MetaData of type CAN_ID_32 for all N-PDUs. 初始化和关机(Initialization and Shutdown): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TransportLayerLifeCycle.png :name: J1939Tp模块的初始化和关机控制图 :align: center J1939Tp模块的初始化和关机控制图(Initialization and shutdown control diagram of the J1939Tp module) 如图 :ref:`J1939Tp模块的初始化和关机控制图` 所示,总结SAE-J1939传输层关于初始化和关机的控制流程。 As shown in the figure, summarize the control process of the SAE-J1939 transport layer regarding initialization and shutdown. .. list-table:: :header-rows: 1 :stub-columns: 1 * - 序号(Serial Number) - 功能描述(Function Description) - 英译(English translation) * - 1. - J1939Tp模块支持两个全局状态:J1939TP_ON和J1939TP_OFF - The J1939Tp module supports two global states: J1939TP_ON and J1939TP_OFF * - 2. - J1939Tp模块上电后处于J1939TP_OFF状态;在J1939TP_OFF状态下,J1939Tp允许更新构建后配置 - After powering on the J1939Tp module, it is in the J1939TP_OFF state; in this state, the J1939Tp module allows for the update of the post-configuration. * - 3. - 只有当J1939Tp处于J1939TP_ON状态时,J1939Tp模块才会执行拆分和重组任务 - Only when J1939Tp is in the J1939TP_ON state, will the J1939Tp module perform the splitting and recombination tasks. * - 4. - 全局状态被用于在调用API之前检查模块是否已初始化 - The global state is used to check whether the module has been initialized before calling the API. 与下层的通信(Communication with the Lower Layer): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 提供给底层的所有服务接口应独立于J1939Tp的内部通信配置和实现。 All service interfaces provided to the lower layer should be independent of the internal communication configuration and implementation of J1939Tp. J1939Tp组件发送传输帧TP.CM和TP.DT消息时,使用服务函数CanIf_Transmit直接发送CAN帧。 When the J1939 transport layer transmission frame TP.CM and TP.DT messages, it directly transmits the CAN frame using the service function CanIf_Transmit. 发送确认(Transmission Confirmation): CanIf调用传输确认J1939Tp_TxConfirmation函数,通知J1939Tp给定的N-PDU传输成功或失败。 The CanIf module call the J1939Tp_TxConfirmation function for transmission confirmation, informing J1939Tp whether the given N-PDU transmission was successful or failed. 当调用J1939Tp_TxConfirmation并产生E_NOT_OK结果时,J1939Tp模块将中止相应的会话。 When the J1939Tp_TxConfirmation function is called and an E_NOT_OK result is generated, the J1939Tp module will terminate the corresponding session. 接收指示(Reception Indication): J1939Tp模块提供J1939Tp_RxIndication回调接口函数,允许CanIf通知新的N-PDU已经被收到 The J1939Tp module provides the J1939Tp_RxIndication callback interface function, allowing the CanIf to notify that a new N-PDU has been received. J1939Tp模块的内部行为动作(The internal operational actions of the J1939Tp module) ---------------------------------------------------------------------------------------- 会话处理(Session Handling): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 关闭传输(Close Transmission): 当传输层的传输会话成功完成后,J1939Tp模块调用上层的通知服务PduR_J1939TpTxConfirmation,如果检测到返回结果为E_OK,则通知N-SDU传输成功。 终止传输(Abort Transmission): 中止传输的特征被用于指示上层某一给定N-SDU的传输已经中止,并使用带有E_NOT_OK反馈结果的回调函数PduR_J1939TpTxConfirmation。 When the transmission session at the transport layer is successfully completed, the J1939Tp module call the upper-layer notification service PduR_J1939TpTxConfirmation. If the returned result is E_OK, it notifies that the N-SDU transmission is successful. 关闭接收(Close Reception): 关闭连接的特征被用于向上层指示传输接收会话已经完成,并使用带有E_OK反馈结果的PduR_J1939TpRxIndication来指示N-SDU接收已成功处理。 The feature of closing the connection is used to inform the upper layer that the transmission-reception session has been completed, and to indicate that the N-SDU reception has been successfully processed by using the PduR_J1939TpRxIndication with an E_OK feedback result. 终止接收(Abort Reception): 终止接收的特征被用于指示上层对给定N-SDU的接收已经中止,并使用带有E_NOT_OK反馈结果的PduR_J1939TpRxIndication来指示N-SDU接收发生异常处理。 The feature of termination of reception is used to indicate that the upper layer has stopped the reception of the given N-SDU, and the PduR_J1939TpRxIndication with the E_NOT_OK feedback result is used to indicate that abnormal processing has occurred during the N-SDU reception. 终止CMDT连接(Abort CMDT Connection): 终止CMDT连接的特征被用于指示参与相关连接的另一个ECU,当前CMDT会话(发送或接收)不能成功完成,根据[SAE J1939-21]的规定,TP.Conn_Abort中止消息应通过CAN发送到另一个ECU。 The characteristic of terminating the CMDT connection is used to indicate that another ECU involved in the relevant connection cannot successfully complete the current CMDT session (either sending or receiving). According to [SAE J1939-21], the TP.Conn_Abort termination message should be sent to the other ECU via CAN. 每次在成功发送或接收TP.CM_CTS之后发生错误时,都需要发送TP.Conn_Abort,并且在连续发送或接收TP.CM_RTS之后,建议发送TP.Conn_Abort;TP.Conn_Abort的连接中止原因按[SAE J1939-21]设置。 Whenever an error occurs after successfully sending or receiving TP.CM_CTS, TP.Conn_Abort must be sent. Additionally, it is recommended to send TP.Conn_Abort after consecutive sending or receiving TP.CM_RTS. The reason for connection termination in TP.Conn_Abort is set according to [SAE J1939-21]. 给定N-SDU的接收(N-SDU Reception): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 接收N-SDU总是由接收TP.CM消息开始传输;对于CMDT,由TP.CM_RTS启动传输,对于BAM,由TP.CM_BAM启动传输。 The reception of N-SDU always begins the transmission with the reception of TP.CM message; for CMDT, the transmission is initiated by TP.CM_RTS, and for BAM, it is initiated by TP.CM_BAM. 根据初始化TP.CM帧的控制字节(TP.CM_BAM或TP.CM_RTS),J1939Tp模块将使用J1939传输协议的变体BAM或CMDT来处理数据接收。 Based on the control bytes of the initialized TP.CM frame (TP.CM_BAM or TP.CM_RTS), the J1939Tp module will use the variant BAM or CMDT of the J1939 transmission protocol to handle data reception. 当收到包含TP.CM_BAM或TP.CM_RTS的N-PDU时,J1939Tp模块首先使用PduR_J1939TpStartOfReception函数来通知上层组件PduR,然后再处理帧重组: When a N-PDU containing TP.CM_BAM or TP.CM_RTS is received, the J1939Tp module first uses the PduR_J1939TpStartOfReception function to notify the upper-level component PduR, and then processes the frame reassembly: .. list-table:: :header-rows: 1 :stub-columns: 1 * - 序号(Serial Number) - 参数列表描述(Description of the parameter list) * - 1. - 对应N-SDU的标识符(The identifier corresponding to NSDU) * - 2. - 取决于MetaDataItem配置项的SA、DA和Priority(It depends on the parameters such as SA, DA and Priority of the MetaDataItem configuration item.) * - 3. - 重组后的总数据长度(The total length of the reorganized data) * - 4. - 指向上层存储其当前可用缓冲区大小的位置的指针(A pointer pointing to the location in the upper layer where its current available buffer size is stored) 接收到包含TP.DT帧的N-PDU后,调用函数PduR_J1939TpCopyRxData将接收到的数据拷贝到上层: After receiving the N-PDU containing the TP.DT frame, the function PduR_J1939TpCopyRxData is called to copy the received data to the upper layer: .. list-table:: :header-rows: 1 :stub-columns: 1 * - 序号(Serial Number) - 参数列表描述(Description of the parameter list) * - 1. - 对应N-SDU的标识符(The identifier corresponding to N-SDU) * - 2. - PduInfoPtr,最大7字节数据(PduInfoPtr, maximum transmission of 7-byte data) * - 3. - 指向上层存储其当前可用缓冲区大小的位置的指针(A pointer pointing to the location in the upper layer where its current available buffer size is stored) 如果出现以下任何一种情况,J1939Tp模块将静默中止接收: If any of the following situations occurs, the J1939Tp module will silently stop receiving: .. list-table:: :header-rows: 1 :stub-columns: 1 * - 序号(Serial Number) - 接收终止描述(Receiving termination description) * - 1. - PduR_J1939TpStartOfReception函数返回BUFREQ_E_NOT_OK或BUFREQ_E_OVFL(The PduR_J1939TpStartOfReception function returns either BUFREQ_E_NOT_OK or BUFREQ_E_OVFL.) * - 2. - 启动选择的协议与为传输的PGN配置的传输协议不匹配(The selected protocol for startup does not match the transmission protocol configured for the PGN being transmitted.) * - 3. - N-PDU中包含MetaData的SA/DA与配置的SA/DA不匹配(The SA/DA in the N-PDU that contains MetaData does not match the configured SA/DA) * - 4. - 通过bufferSizePtr返回的PduR_J1939TpStartOfReception的值小于通过直接N-PDU接收的N-SDU的总数据长度(The value of PduR_J1939TpStartOfReception returned through bufferSizePtr is less than the total data length of the N-SDU received directly through the N-PDU.) * - 5. - PduR_J1939TpCopyRxData函数返回BUFREQ_E_NOT_OK(The PduR_J1939TpCopyRxData function returns BUFREQ_E_NOT_OK) * - 6. - J1939Tp_CancelReceive函数被调用(The J1939Tp_CancelReceive function was called.) * - 7. - CMDT传输方式下,需要视情况设置终止原因,以及发送TP.CM_ConnAbort异常终止消息(Under the CMDT transmission mode, it is necessary to set the termination reason according to the situation, as well as send the TP_CM_ConnAbort abnormal termination message) 给定N-SDU的发送(N-SDU Transmission): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 上层PduR组件通过调用J1939Tp_Transmit请求发送N-SDU;J1939Tp_Transmit参数列表描述N-SDU的标识符和对PduInfoType的引用,PduInfoType表示要发送N-SDU的完整长度,以及指向有效载荷N-SDU的指针,根据N-SDU的元数据配置,可能包含SA、DA和Priority的Metadata。 The upper PduR component requests the transmission of an N-SDU by calling J1939Tp_Transmit; the parameter list of J1939Tp_Transmit describes the identifier of the N-SDU and the reference to PduInfoType, where PduInfoType represents the complete length of the N-SDU to be sent, as well as the pointer to the payload N-SDU. Depending on the metadata configuration of the N-SDU, it may contain Metadata such as SA, DA and Priority. 配置时,传输协议变体(BAM/CMDT)和SA/DA被用于使用发送;对于带有Metadata的N-SDU,参数是可选的;如果没有配置SA或DA,则通过Metadata使用提供的值;如果没有配置传输协议,则根据实际的DA选择:当DA为0xFF时选择BAM,否则选择CMDT。 During configuration, the transmission protocol variant (BAM/CMDT) and SA/DA are used for sending; for N-SDU with Metadata, the parameters are optional; if SA or DA is not configured, the provided values in the Metadata are used; if the transmission protocol is not configured, it is selected based on the actual DA: when DA is 0xFF, BAM is selected; otherwise, CMDT is selected. J1939Tp_Transmit函数需要使用PduInfoType结构中提供的NSduId和sdullength;它不能使用N-SDU的有效载荷,只能使用包含的Metadata。 The J1939Tp_Transmit function requires the use of the NSduId and sdullength provided in the PduInfoType structure; it cannot use the payload of the N-SDU, but can only use the included Metadata. 收到上层的传输请求后,J1939Tp模块发送(After receiving the transmission request from the upper layer, the J1939Tp module transmit): .. table:: transmissionRequest :name: transmissionRequest :align: left +-----------------------------+-----------------------------------------+ | Transport Protocol Variant | Detailed description | +=============================+=========================================+ | BAM | TP.CM_RTS frame | +-----------------------------+-----------------------------------------+ | CMDT | TP.CM_BAM frame | +-----------------------------+-----------------------------------------+ 对于要发送的每一个TP.DT帧,J1939Tp模块先调用PduR_J1939TpCopyTxData将待发送的数据拷贝到下层: For each TP.DT frame to be sent, the J1939Tp module first calls PduR_J1939TpCopyTxData to copy the data to be sent to the lower layer: .. list-table:: :header-rows: 1 :stub-columns: 1 * - 序号(Serial Number) - 参数列表描述(Description of the parameter list) * - 1. - 对应N-SDU的标识符(The identifier corresponding to NSDU) * - 2. - PduInfoType结构,sdullength长度不超过7字节(PduInfoPtr, maximum transmission of 7-byte data) * - 3. - 重传参数(Re-transmission parameter) * - 4. - 指向上层存储其当前可用数据的位置的指针(A pointer pointing to the location in the upper layer where its current available buffer size is stored) 当PduR_J1939TpCopyTxData返回BUFREQ_E_BUSY时,J1939Tp将重试对PduR_J1939TpCopyTxData的调用,直到数据可用或发生超时。 When PduR_J1939TpCopyTxData returns BUFREQ_E_BUSY, J1939Tp will retry the call to PduR_J1939TpCopyTxData until the data becomes available or a timeout occurs. 如果不启用J1939TpTxRetrySupport,则PduR_J1939TpCopyTxData的retry参数始终设置为NULL_PTR。 If J1939TpTxRetrySupport is not enabled, the retry parameter of PduR_J1939TpCopyTxData will always be set to NULL_PTR. 对于BAM传输方式,PduR_J1939TpCopyTxData的参数retry应该始终设置为NULL_PTR。 For the BAM transmission method, the parameter "retry" of the PduR_J1939TpCopyTxData should always be set to NULL_PTR. 如果启用了J1939TpTxRetrySupport,则在CMDT传输过程中,需要通过PduR_J1939TpCopyTxData参数retry提供一个有效的RetryInfoType结构体。 If J1939TpTxRetrySupport is enabled, during the CMDT transmission process, a valid RetryInfoType structure needs to be provided through the PduR_J1939TpCopyTxData parameter. 如果出现以下任何一种情况,J1939Tp模块将中止发送会话(If any of the following situations occurs, the J1939Tp module will terminate the transmission of the session.): .. list-table:: :header-rows: 1 :stub-columns: 1 * - 序号(Serial Number) - 接收终止描述(Receiving termination description) * - 1. - 上层返回带有BUFREQ_E_NOT_OK的PduR_J1939TpCopyTxData函数调用(The upper layer returns the result of the PduR_J1939TpCopyTxData function call with BUFREQ_E_NOT_OK.) * - 2. - J1939Tp_CancelTransmit函数被调用(The J1939Tp_CancelTransmit function was called.) * - 3. - CMDT传输方式下,需要视情况设置终止原因,以及发送TP.CM_ConnAbort异常终止消息(Under the CMDT transmission mode, it is necessary to set the termination reason according to the situation, as well as send the TP.CM_ConnAbort abnormal termination message.) 基于CAN总线的数据流(Data Flow on the CAN Bus): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/DataFlowBaseOnCanBus.png :name: J1939Tp模块的基于CAN总线的数据流 :align: center J1939Tp模块的基于CAN总线的数据流(The data stream of the J1939Tp module based on the CAN bus) 如图 :ref:`J1939Tp模块的基于CAN总线的数据流` 所示。 使用直接传输的数据流(Data Flow using Direct Transmission): .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/DataFlowUsingDirectTransmission.png :name: J1939Tp模块的使用直接传输的数据流 :align: center J1939Tp模块的使用直接传输的数据流(The data stream directly transmitted by the J1939Tp module) 如图 :ref:`J1939Tp模块的使用直接传输的数据流` 所示,使用J1939Tp在两个ECU之间进行直接消息传输的场景,N-SDU在不使用TP.CM或TP.DT帧的情况下传输的唯一情况;SA总是包含在CAN标识符中;根据PGN的PDU格式不同,CAN标识符可能包含DA。 As shown in the figure, this is the scenario where direct message transmission is carried out between two ECU using J1939Tp. This is the only situation where N-SDU transmits without using TP.CM or TP.DT frames; SA is always included in the CAN identifier; depending on the PDU format of the PGN, the CAN identifier may include DA. .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/DataFlowUsingCMDT.png :name: J1939Tp模块的使用CMDT传输的数据流 :align: center J1939Tp模块的使用CMDT传输的数据流(The data stream transmitted by the CMDT in the J1939Tp module) 如图 :ref:`J1939Tp模块的使用CMDT传输的数据流` 所示,使用CMDT作为传输协议变体在两个ECU之间进行分段消息传输的场景,CMDT传输协议变体用于点对点通信。 As shown in the figure, in the scenario where CMDT is used as a transmission protocol variant for segmenting message transmission between two ECU units, the CMDT transmission protocol variant is employed for point-to-point communication. .. list-table:: :header-rows: 1 :stub-columns: 1 * - 序号(Serial Number) - 功能描述(Function Description) - 英译(English Translation) * - 1. - J1939传输协议使用TP.CM_RTS和TP.CM_CTS的初始序列来确定每个块的数据包数量 - The J1939 transmission protocol uses the initial sequences of TP.CM_RTS and TP.CM_CTS to determine the number of data packets for each block. * - 2. - 如果启用J1939TpTxDynamicBlockCalculation,调用J1939Tp_Transmit后,J1939Tp调用PduR_J1939TpCopyTxData一次,info->sdullength设置为0,重试设置为NULL_PTR,通过availableDataPtr获取可用的数据量。 - If J1939TpTxDynamicBlockCalculation is enabled, after calling J1939Tp_Transmit, J1939Tp will call PduR_J1939TpCopyTxData once, set info->sdullength to 0, set retry to NULL_PTR, and obtain the available data volume through availableDataPtr. * - 3. - 如果J1939TpTxDynamicBlockCalculation和J1939TpTxMaxPacketsPerBlock使能,J1939Tp将PduR_J1939TpCopyTxData返回的可用数据量与J1939TpTxMaxPacketsPerBlock进行比较,并使用这两个值中较小的值来计算TP.CM_RTS消息的最大数据包数字段。 - If J1939TpTxDynamicBlockCalculation and J1939TpTxMaxPacketsPerBlock are enabled, J1939Tp will compare the available data volume returned by PduR_J1939TpCopyTxData with J1939TpTxMaxPacketsPerBlock, and use the smaller of the two values to calculate the maximum data packet number field of the TP.CM_RTS message. * - 4. - 如果J1939TpTxDynamicBlockCalculation使能,而J1939TpTxMaxPacketsPerBlock未使能,则J1939Tp将使用PduR_J1939TpCopyTxData返回的可用数据量来计算TP.CM_RTS消息的最大包数字段。 - If J1939TpTxDynamicBlockCalculation is enabled while J1939TpTxMaxPacketsPerBlock is not enabled, then J1939Tp will use the available data volume returned by PduR_J1939TpCopyTxData to calculate the maximum packet number field of the TP.CM_RTS message. * - 5. - 如果不使能J1939TpTxDynamicBlockCalculation,则J1939Tp将使用J1939TpTxMaxPacketsPerBlock作为TP.CM_RTS消息的最大包数字段。 - If J1939TpTxDynamicBlockCalculation is not enabled, J1939Tp will use J1939TpTxMaxPacketsPerBlock as the maximum packet count field for the TP.CM_RTS message. * - 6. - 如果J1939TpRxDynamicBlockCalculation和J1939TpRxPacketsPerBlock使能,则J1939Tp将PduR_J1939TpStartOfReception返回的可用缓冲区大小的值与J1939TpRxPacketsPerBlock进行比较,并使用较低的值计算TP.CM_CTS消息的包数字段。 - If J1939TpRxDynamicBlockCalculation and J1939TpRxPacketsPerBlock are enabled, J1939Tp will compare the value of the available buffer size returned by PduR_J1939TpStartOfReception with J1939TpRxPacketsPerBlock, and use the lower value to calculate the packet count field of the TP.CM_CTS message. * - 7. - 如果J1939TpRxDynamicBlockCalculation使能,而J1939TpRxPacketsPerBlock未使能,则J1939Tp将使用PduR_J1939TpStartOfReception返回的可用缓冲区大小的值来计算TP.CM_CTS消息的包数字段。 - If J1939TpRxDynamicBlockCalculation is enabled, but J1939TpRxPacketsPerBlock is not enabled, then J1939Tp will use the value of the available buffer size returned by PduR_J1939TpStartOfReception to calculate the packet count field of the TP.CM_CTS message. * - 8. - J1939Tp接收到TP.CM_RTS报文后,在接收到一个块的最后一个N-PDU报文后,如果报告的缓冲区大小足以容纳下一个块,则J1939Tp发送TP.CM_CTS报文请求下一个块。在完成一个N-SDU的接收过程中,TP.CM_CTS请求的包数应该是恒定的,只有在最后一个TP.CM_CTS中,这个数字应该减少到剩余的包数。 - After receiving the TP.CM_RTS message, J1939TP will send the TP.CM_CTS message to request the next block if the reported buffer size is sufficient to accommodate the next block. During the process of receiving an N-SDU, the number of TP.CM_CTS requests should be constant, and only in the last TP.CM_CTS, this number should be reduced to the remaining number of packets. * - 9. - 当PduR_J1939TpStartOfReception或PduR_J1939TpCopyRxData没有足够的缓冲区来接收一个完整的块时,J1939Tp将调用PduR_J1939TpCopyRxData,并将info->sdullength设置为0,直到缓冲区大到足以容纳一个块,或者发生超时。 - When there is not enough buffer space for PduR_J1939TpStartOfReception or PduR_J1939TpCopyRxData to receive a complete block, J1939Tp will call PduR_J1939TpCopyRxData and set info->sdullength to 0 until the buffer becomes large enough to accommodate a block, or a timeout occurs. * - 10. - J1939Tp在监控缓冲状态时,根据[SAE J1939-21]定义的定时要求,发送TP.CM_CTS等待帧(包数设为0)。 - When J1939Tp is monitoring the buffer status, it sends the TP.CM_CTS waiting frame (with the packet number set to 0) in accordance with the timing requirements defined in [SAE J1939-21]. * - 11. - 如果J1939TpRxRetrySupport使能,J1939Tp将根据J1939TpRxDynamicBufferRatio将PduR_J1939TpStartOfReception返回的值调整为可用缓冲区大小,然后使用该值计算指定TP.CM_CTS消息的包数字段。 - If J1939TpRxRetrySupport is enabled, J1939Tp will adjust the value returned by PduR_J1939TpStartOfReception based on J1939TpRxDynamicBufferRatio to the available buffer size, and then use this value to calculate the packet count field of the specified TP.CM_CTS message. * - 12. - 如果不使能J1939TpRxDynamicBlockCalculation,则J1939Tp将使用J1939TpRxPacketsPerBlock计算TP.CM_CTS消息的包数字段。 - If J1939TpRxDynamicBlockCalculation is not enabled, J1939Tp will use J1939TpRxPacketsPerBlock to calculate the packet count field of the TP.CM_CTS message. * - 13. - 如果启用了J1939TpTxRetrySupport, J1939Tp将在接收到TP.CM_CTS后的第一次调用时调用PduR_J1939TpCopyTxData,并将TpDataState设置为TP_DATACONF,或者将TpDataState设置为TP_CONFPENDING. - If J1939TpTxRetrySupport is enabled, J1939Tp will call PduR_J1939TpCopyTxData for the first time after receiving TP.CM_CTS, and set TpDataState to TP_DATACONF, or set it to TP_CONFPENDING. * - 14. - 如果收到一个TP.CM_CTS等待帧(报文数设置为0),则J1939Tp将等待另一个TP.CM_CTS帧。 - If a TP.CM_CTS waiting frame (with the message count set to 0) is received, then J1939Tp will wait for another TP.CM_CTS frame. * - 15. - 当J1939Tp接收到TP.CM_CTS帧请求的数据超出当前位置或在最后一次接收到TP.CM_CTS的位置之前时,它将终止传输,原因为255(SNA)。 - When J1939Tp receives the TP.CM_CTS frame requesting data that is beyond the current position or before the last position where TP.CM_CTS was received, it will terminate the transmission, with the reason being 255 (SNA). * - 16. - 如果启用J1939TpTxRetrySupport,当J1939Tp接收到请求已经发送数据的TP.CM_CTS帧时,它将调用PduR_J1939TpCopyTxData,TpDataState设置为TP_DATARETRY,TxTpDataCnt设置为要重传的字节数;需要重传的字节数是从请求包相对于当前包的位置计算出来的。 - If J1939TpTxRetrySupport is enabled, when J1939Tp receives a TP.CM_CTS frame that indicates the data has been sent, it will call PduR_J1939TpCopyTxData. The TpDataState will be set to TP_DATARETRY and the TxTpDataCnt will be set to the number of bytes to be retransmitted; the number of bytes to be retransmitted is calculated based on the position of the request packet relative to the current packet. * - 17. - 如果禁用J1939TpTxRetrySupport,当J1939Tp接收到请求已经发送数据的TP.CM_CTS帧时,它将终止传输,原因为255(未分配)。 - If J1939TpTxRetrySupport is disabled, when J1939Tp receives a TP.CM_CTS frame requesting the transmission of data, it will terminate the transmission due to the reason of 255 (unallocated). * - 18. - 启用J1939TpRxRetrySupport功能后,当接收过程中出现序列错误时,J1939Tp模块将在接收到块的最后一个TP.DT消息后,发送一个TP.CM_CTS帧,请求当前块的最后一个正确接收的包之后的包。 - After enabling the J1939TpRxRetrySupport function, when a sequence error occurs during the reception process, the J1939Tp module will send a TP.CM_CTS frame after receiving the last TP.DT message of the block, requesting the next block of packets after the last correctly received packet of the current block. * - 19. - 具有序列错误的TP.DT报文的内容和同一块中序列错误之后的TP.DT报文的内容将被丢弃。 - Messages with sequence errors in the TP.DT format and the corresponding TP.DT messages after sequence errors in the same block will be discarded. * - 20. - 如果不使能J1939TpRxRetrySupport,则当接收过程中出现序列错误时,J1939Tp模块将中止接收会话,连接中止原因为255(SNA)。 - If J1939TpRxRetrySupport is not enabled, when a sequence error occurs during the reception process, the J1939Tp module will terminate the reception session, and the connection termination reason will be 255 (SNA). * - 21. - J1939Tp实现[SAE J1939-21]中所述的所有与CMDT相关的时序约束(Tr、Th、T1、T2、T3、T4),被用于监督CMDT数据流。 - The J1939Tp protocol fulfills all the timing constraints (Tr, Th, T1, T2, T3, T4) related to CMDT as described in [SAE J1939-21], and is used to monitor the CMDT data stream. * - 22. - 如果在CMDT传输过程中发生超时,则J1939Tp模块将在成功传输TP.CM_RTS帧后,根据指定的超时终止传输会话,连接中断原因为3。 - If a timeout occurs during the CMDT transmission process, the J1939Tp module will terminate the transmission session after successfully transmitting the TP.CM_RTS frame, based on the specified timeout. The reason for the connection interruption will be 3. * - 23. - 如果在接收过程中发生超时,则J1939Tp模块将按照指定的方式中止接收会话,连接中止原因为3。 - If a timeout occurs during the receiving process, the J1939Tp module will terminate the receiving session in the specified manner, and the reason for the connection termination will be 3. * - 24. - 如果在ECU成功发送TP.CM_RTS帧后又收到TP.Conn_Abort帧,则终止传输,不需要传输TP.Conn_Abort。 - If after the ECU successfully sends the TP.CM_RTS frame, it subsequently receives the TP.Conn_Abort frame, then the transmission should be terminated and there is no need to send the TP.Abort frame. * - 25. - 如果在收到TP.CM_RTS帧之后又收到了一个TP.Conn_Abort帧,则终止接收,不需要传输TP.Conn_Abort。 - If a TP.Conn_Abort frame is received after receiving a TP.CM_RTS frame, then stop receiving and there is no need to transmit the TP.Conn_Abort frame. .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/DataFlowUsingBAM.png :name: J1939Tp模块的使用BAM传输的数据流 :align: center J1939Tp模块的使用BAM传输的数据流(The use of the J1939Tp module for transmitting data streams via BAM) 如图 :ref:`J1939Tp模块的使用BAM传输的数据流` 所示,使用BAM作为传输协议变体在两个ECU之间进行分段消息传输的场景,BAM传输协议变体用于广播通信。 As shown in the figure, in the scenario where BAM is used as a transmission protocol variant for segmenting message transmission between two ECU units, the BAM transmission protocol variant is employed for broadcast communication. .. list-table:: :header-rows: 1 :stub-columns: 1 * - 序号(Serial Number) - 功能描述(Function Description) - 英译(English Translation) * - 1. - J1939Tp实现[SAE J1939-21]中描述的与BAM相关的时序约束(50ms, Tr, T1)被用于监督BAM数据流。 - The timing constraints related to BAM as described in [SAE J1939-21] (50ms, Tr, T1) implemented by J1939Tp are used to monitor the BAM data stream. * - 2. - 如果BAM接收期间发生超时,J1939Tp模块将按照指定的方式中止接收会话。 - If a timeout occurs during the BAM reception process, the J1939Tp module will terminate the receiving session in the specified manner. * - 3. - 发生序列错误后,J1939Tp将中止BAM连接。 - After a sequence error occurs, J1939Tp will terminate the BAM connection. 给定N-SDU的缓冲区管理(N-SDU Buffer Management): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ J1939Tp不具备内部PDU缓冲器,而是通过PduR_J1939TpCopyTxData直接从上层请求发送数据,并通过PduR_J1939TpCopyRxData直接向上层提供接收到的数据。 J1939Tp does not have an internal PDU buffer. Instead, it requests to send data from the upper layer directly through PduR_J1939TpCopyTxData, and provides the received data to the upper layer directly through PduR_J1939TpCopyRxData. 备注:保证数据的一致性,在整个数据传输或接收过程中,必须锁定上层的整个缓冲区。 Note: To ensure data consistency, the entire upper-level buffer must be locked throughout the entire data transmission or reception process. .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/TxBufferLocking.PNG :name: J1939Tp模块的发送缓冲区锁定 :align: center J1939Tp模块的发送缓冲区锁定(Locking of the transmission buffer of the J1939Tp module) 如图 :ref:`J1939Tp模块的发送缓冲区锁定` 所示,数据发送通过PduR调用J1939Tp_Transmit函数来进行启动,在J1939Tp成功执行此调用后进入激活状态,直到J1939Tp调用PduR_J1939TpTxConfirmation。 As shown in the figure, the data transmission is initiated by calling the J1939Tp_Transmit function through PduR. After J1939Tp successfully executes this call, it enters the activated state until J1939Tp calls PduR_J1939TpTxConfirmation. .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/RxBufferLocking.PNG :name: J1939Tp模块的接收缓冲区锁定 :align: center J1939Tp模块的接收缓冲区锁定(Locking of the receiving buffer of the J1939Tp module) 如图 :ref:`J1939Tp模块的接收缓冲区锁定` 所示,数据接收通过J1939Tp调用PduR_J1939TpStartOfReception来进行启动,在PduR成功执行此调用后处于激活状态,直到J1939Tp调用PduR_J1939TpRxIndication。 As shown in the figure, data reception is initiated by calling PduR_J1939TpStartOfReception through J1939Tp. After PduR successfully executes this call, it enters an active state until J1939Tp calls PduR_J1939TpRxIndication. N-SDU和N-PDU的关系(Relationship between N-SDU and N-PDU in J1939Tp): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/RelationBetweenNSDUandNPDU.PNG :name: J1939Tp模块中N-SDU和N-PDU的关系 :align: center J1939Tp模块中N-SDU和N-PDU的关系(The relationship between N-SDU and N-PDU in the J1939Tp module) 如图 :ref:`J1939Tp模块中N-SDU和N-PDU的关系` 所示,N-SDU与传输N-SDU数据所需的N-PDU集之间的关系,N-PDU和N-SDU都可能使用Metadata;此时,无论源地址和目的地址如何,N-SDU代表某个PGN, N-PDU代表TP.CM、TP.DT和direct PG。 As shown in the figure, the relationship between N-SDU and the set of N-PDU required for transmitting N-SDU data. Both N-PDU and N-SDU may use Metadata; at this time, regardless of the source address and destination address, N-SDU represents a certain PGN, and N-PDU represents TP.CM, TP.DT and direct PG. .. list-table:: :header-rows: 1 :stub-columns: 1 * - 序号(Serial Number) - 功能描述(Function Description) - 英译(English Translation) * - 1. - 在接收期间,N-SDU由TP.CM有效载荷中包含的PGN和当N-SDU没有元数据时,从NPduId中隐式编码的寻址信息或通过N-PDU的元数据显式提供的寻址信息组合来识别。 - During the reception process, the N-SDU is identified by combining the PGN contained in the TP.CM payload and the addressing information implicitly encoded in the NPduId when the N-SDU has no metadata, or the addressing information explicitly provided through the N-PDU metadata. * - 2. - 在传输过程中,相应的N-PDU集由N-SDU上配置的没有元数据的SA/DA来识别,或者由上层元数据中明确提供的SA/DA来识别。 - During the transmission process, the corresponding N-PDU set is identified by the SA/DA configured on the N-SDU without metadata, or by the SA/DA explicitly provided in the upper-layer metadata. 给定N-PDU的填充(N-PDU Padding): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :header-rows: 1 :stub-columns: 1 * - 序号(Serial Number) - 功能描述(Function Description) * - 1. - 根据[SAE J1939-21],J1939传输层模块发送的TP.DT帧总是8字节(According to [SAE J1939-21], the TP.DT frame sent by the J1939 transport layer module is always 8 bytes in size)。 * - 2. - 根据[SAE J1939-21],最后一个TP.DT帧或直接帧内所有未使用的数据字节都应设置为0xFF(According to [SAE J1939-21], the last TP.DT frame or all unused data bytes within the direct frame should be set to 0xFF)。 意外N-PDU到达的处理(Handling of Unexpected N-PDU Arrivals): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :header-rows: 1 :stub-columns: 1 * - 序号(Serial Number) - 功能描述(Function Description) - 英译(English Translation) * - 1. - J1939Tp将忽略不符合当前激活连接的意外N-PDU。 - J1939Tp will ignore unexpected NPDU that do not conform to the currently active connection. * - 2. - 如果禁用J1939TpTxRetrySupport,则在发送TP.DT消息时收到TP.CM_CTS,J1939Tp将中止连接,连接中止原因为4(数据正在传输时收到TP.CM_CTS消息)。 - If J1939TpTxRetrySupport is disabled, when sending the TP_DT message, if the TP.CM_CTS message is received, J1939Tp will terminate the connection. The reason for the connection termination is 4 (TP.CM_CTS message received while data is being transmitted). * - 3. - 当收到当前活动连接的TP.CM_RTS时,J1939Tp将停止连接,并开始一个新连接。 - When it receives the TP.CM_RTS of the current active connection, J1939Tp will terminate the connection and start a new one. 消息帧格式(Message frame format): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 基于多帧传输方式的管理帧消息格式(Management frame message format based on multi-frame transmission method): .. table:: ManagementFrameFormat :name: ManagementFrameFormat :align: left +------------------------+----------------------------------------------------------------------------------------------------------+ | Connection Management | A detailed description of the message format of the connection management frame | +========================+==========================================================================================================+ | Transmission rate | Per the PG to be transferred | +------------------------+----------------------------------------------------------------------------------------------------------+ | Data length | 8 bytes | +------------------------+----------------------------------------------------------------------------------------------------------+ | Extended Date Page | 0 | +------------------------+----------------------------------------------------------------------------------------------------------+ | Data Page | 0 | +------------------------+----------------------------------------------------------------------------------------------------------+ | PDU Format | 236 | +------------------------+----------------------------------------------------------------------------------------------------------+ | PDU Specific | Destination Address | +------------------------+----------------------------------------------------------------------------------------------------------+ | Default priority | 7 | +------------------------+----------------------------------------------------------------------------------------------------------+ | Parameter Group Number | 0x00EC00(60416) | +------------------------+----------------------------------------------------------------------------------------------------------+ | Parameter Group Number | 0x00EC00(60416) | +------------------------+-------------------------------------+--------------------------------------------------------------------+ | TP.CM | Description | Used for the transfer of PGs that have 9 or more bytes of data. | | +-------------------------------------+--------------------------------------------------------------------+ | | Control Byte | 0 to 15,18,20 to 31, and 33 to 254 are Reserved for SAE Assignment | | +-------------------------------------+--------------------------------------------------------------------+ | | Total Message Size, number of bytes | 9 to 1785 (2 bytes), zero to 8 and 1786 to 65535 not allowed | | +-------------------------------------+--------------------------------------------------------------------+ | | Total Number of Packets | 2 to 255 (1 byte), zero not allowed | | +-------------------------------------+--------------------------------------------------------------------+ | | Maximum Number of Packets | 2 to 255 (1 byte), zero and one are not allowed | | +-------------------------------------+--------------------------------------------------------------------+ | | Number of Packets that can be sent | 0 to 255 (1 byte) | | +-------------------------------------+--------------------------------------------------------------------+ | | Next Packet Number to be Sent | 1 to 255 (1 byte), zero not allowed | | +-------------------------------------+--------------------------------------------------------------------+ | | Sequence Number | 1 to 255 (1 byte), zero not allowed | +------------------------+---------------------+---------------+--------------------------------------------------------------------+ | TP.CM_RTS | Description | Connection Mode Request to Send: Destination Specific | | +---------------------+------------------+--------+---------------+----------------------------------------+ | | Byte1 | Control Byte | 0x10 | Description | Destination Specific Request_To_Send | | +---------------------+------------------+--------+---------------+----------------------------------------+ | | Byte2 - Byte3 | Total message size, number of bytes | | +---------------------+------------------------------------------------------------------------------------+ | | Byte4 | Total number of packets | | +---------------------+------------------------------------------------------------------------------------+ | | Byte5 | Maximum number of packets that can be sent in response to one CTS | | | +------------------------------------------------------------------------------------+ | | | 0xFF: indicates that no limit exists for the originator | | +---------------------+-------------------------------------+-----------+----------------------------------+ | | Byte6 - Byte8 | PGN of the packeted message | Byte6 | LSB of PGN | | | | +-----------+----------------------------------+ | | | | Byte7 | 2nd byte of PGN | | | | +-----------+----------------------------------+ | | | | Byte8 | MSB of PGN | +------------------------+---------------------+-------------------------------------+-----------+----------------------------------+ | TP.CM_CTS | Description | Connection Mode Clear to Send: Destination Specific | | +---------------------+------------------+--------+---------------+----------------------------------------+ | | Byte1 | Control Byte | 0x11 | Description | Destination Specific Clear_To_Send | | +---------------------+------------------+--------+---------------+----------------------------------------+ | | Byte2 | Number of packets that can be sent. | | | +------------------------------------------------------------------------------------+ | | | This value shall be no larger than the value in byte 5 of the RTS message. | | +---------------------+------------------------------------------------------------------------------------+ | | Byte3 | Next packet number to be sent | | +---------------------+------------------------------------------------------------------------------------+ | | Byte4 - Byte5 | Reserved for assignment by SAE, these bytes should be filled with 0xFF | | +---------------------+-------------------------------------+-----------+----------------------------------+ | | Byte6 - Byte8 | PGN of the packeted message | Byte6 | LSB of PGN | | | | +-----------+----------------------------------+ | | | | Byte7 | 2nd byte of PGN | | | | +-----------+----------------------------------+ | | | | Byte8 | MSB of PGN | +------------------------+---------------------+-------------------------------------+-----------+----------------------------------+ | TP.CM_EndOfMsgACK | Description | End of Message Acknowledgment: Destination Specific | | +---------------------+------------------+--------+---------------+----------------------------------------+ | | Byte1 | Control Byte | 0x13 | Description | End_of_Message Acknowledge | | +---------------------+------------------+--------+---------------+----------------------------------------+ | | Byte2 - Byte3 | Total message size, number of bytes | | +---------------------+------------------------------------------------------------------------------------+ | | Byte4 | Total number of packets | | +---------------------+------------------------------------------------------------------------------------+ | | Byte5 | Reserved for assignment by SAE, this byte should be filled with 0xFF | | +---------------------+-------------------------------------+-----------+----------------------------------+ | | Byte6 - Byte8 | PGN of the packeted message | Byte6 | LSB of PGN | | | | +-----------+----------------------------------+ | | | | Byte7 | 2nd byte of PGN | | | | +-----------+----------------------------------+ | | | | Byte8 | MSB of PGN | +------------------------+---------------------+-------------------------------------+-----------+----------------------------------+ | TP.Conn_Abort | Description | Connection Abort: Destination Specific | | +---------------------+------------------+--------+---------------+----------------------------------------+ | | Byte1 | Control Byte | 0xFF | Description | Connection Abort | | +---------------------+------------------+--------+---------------+----------------------------------------+ | | Byte2 | Connection Abort reason | | +---------------------+------------------------------------------------------------------------------------+ | | Byte3 - Byte5 | Reserved for assignment by SAE, these bytes should be filled with 0xFF | | +---------------------+-------------------------------------+-----------+----------------------------------+ | | Byte6 - Byte8 | PGN of the packeted message | Byte6 | LSB of PGN | | | | +-----------+----------------------------------+ | | | | Byte7 | 2nd byte of PGN | | | | +-----------+----------------------------------+ | | | | Byte8 | MSB of PGN | +------------------------+---------------------+-------------------------------------+-----------+----------------------------------+ | TP.CM_BAM | Description | Broadcast Announce Message: Global Destination | | +---------------------+------------------+--------+---------------+----------------------------------------+ | | Byte1 | Control Byte | 0x20 | Description | Broadcast Announce Message | | +---------------------+------------------+--------+---------------+----------------------------------------+ | | Byte2 - Byte3 | Total message size, number of bytes | | +---------------------+------------------------------------------------------------------------------------+ | | Byte4 | Total number of packets | | +---------------------+------------------------------------------------------------------------------------+ | | Byte5 | Reserved for assignment by SAE, this byte should be filled with 0xFF | | +---------------------+-------------------------------------+-----------+----------------------------------+ | | Byte6 - Byte8 | PGN of the packeted message | Byte6 | LSB of PGN | | | | +-----------+----------------------------------+ | | | | Byte7 | 2nd byte of PGN | | | | +-----------+----------------------------------+ | | | | Byte8 | MSB of PGN | +------------------------+---------------------+-------------------------------------+-----------+----------------------------------+ 基于多帧传输方式的数据帧消息格式(Data frame message format based on multi-frame transmission method): .. table:: DataFrameFormat :name: DataFrameFormat :align: left +------------------------+----------------------------------------------------------------------------------------------------------+ | Data Transmit | A detailed description of the message format of the data frame | +========================+==========================================================================================================+ | Transmission rate | Per the PG to be transferred | +------------------------+----------------------------------------------------------------------------------------------------------+ | Data length | 8 bytes | +------------------------+----------------------------------------------------------------------------------------------------------+ | Extended Date Page | 0 | +------------------------+----------------------------------------------------------------------------------------------------------+ | Data Page | 0 | +------------------------+----------------------------------------------------------------------------------------------------------+ | PDU Format | 235 | +------------------------+---------------------+------------------------------------------------------------------------------------+ | PDU Specific | Destination Address | Global DA = 255 is required for TP.CM_BAM data transfers | | | +------------------------------------------------------------------------------------+ | | | Global DA is not allowed for RTS/CTS data transfers | +------------------------+---------------------+------------------------------------------------------------------------------------+ | Default priority | 7 | +------------------------+----------------------------------------------------------------------------------------------------------+ | Parameter Group Number | 0x00EB00(60160) | +------------------------+---------------+------------------------------------------------------------------------------------------+ | TP.DT | Description | Used for the transfer of data associated with PG that have more than 8 bytes of data | | +---------------+------------------------------------------------------------------------------------------+ | | Byte1 | Sequence Number | | +---------------+-----------------+------------------------------------------------------------------------+ | | Byte2 - Byte7 | Packetized Data | The last packet of a multipacket PG may require less than 7 data bytes | | | | +------------------------------------------------------------------------+ | | | | The extra bytes should be filled with 0xFF | +------------------------+---------------+-----------------+------------------------------------------------------------------------+ 偏差(Deviation) =================================================== .. list-table:: :header-rows: 1 :stub-columns: 1 * - 需求类型(requirement type) - 详细描述(Detailed description) - 需求编号(Demand Number) * - N/A - N/A - N/A 集成(Integration) =================================================== 文件列表(File List) --------------------------------------------------- .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpFileListMap.png :name: J1939Tp模块中的文件列表映射拓扑图 :align: center J1939Tp模块中的文件列表映射拓扑图(The file list mapping topology diagram in the J1939Tp module) 静态文件(Static File) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :header-rows: 1 :stub-columns: 1 * - 文件名称(File Name) - 详细描述(Detailed Description) * - J1939Tp.h - SAE-J1939传输层外部接口声明头文件(SAE-J1939 Transmission Layer External Interface Declaration Header File) * - J1939Tp.c - SAE-J1939传输层总体框架实现源文件(The overall framework implementation of the SAE-J1939 transmission layer in the source file) * - J1939Tp_Rx.c - SAE-J1939传输层消息接收与解析的实现源文件文件(The implementation source file for receiving and parsing SAE-J1939 transport layer messages) * - J1939Tp_Tx.c - SAE-J1939传输层消息发送与解析的实现源文件文件(The implementation source file for sending and parsing of SAE-J1939 transport layer messages) * - J1939Tp_Internal.h - SAE-J1939传输层内部公用接口声明,全局变量声明,宏定义和数据类型定义头文件(Header file for internal common interface declaration of SAE-J1939 transport layer, global variable declaration, macro definition and data type definition) * - J1939Tp_Cbk.h - SAE-J1939传输层可为通信栈提供的回调函数声明头文件(Header file for declaring callback functions provided by the SAE-J1939 transport layer for the communication stack) * - J1939Tp_MemMap.h - SAE-J1939Tp传输层的内存分布头文件(Memory Distribution Header File for SAE-J1939Tp Transport Layer) 动态文件(Dynamic File) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :header-rows: 1 :stub-columns: 1 * - 文件名称(File Name) - 详细描述(Detailed Description) * - J1939Tp_Cfg.h - SAE-J1939传输层中PC配置的宏定义文件(The macro definition file for PC configuration in the SAE-J1939 transport layer) * - J1939Tp_PCcfg.c - SAE-J1939传输层中非PB配置的数据变量定义源文件(Source file for defining non-PB-configured data variables in the SAE-J1939 transport layer) * - J1939Tp_PBcfg.c - SAE-J1939传输层中PB配置的数据变量定义文件(The data variable definition file for PB configuration in the SAE-J1939 transport layer) 错误处理(Error handling) --------------------------------------------------- 开发错误(Development Error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :header-rows: 1 :stub-columns: 1 * - Error code - Value[hex] - Description * - J1939TP_E_UNINIT - 0x01 - API service used in state J1939TP_OFF. * - J1939TP_E_REINIT - 0x02 - J1939Tp_Init() called in state J1939TP_ON. * - J1939TP_E_INIT_FAILED - 0x03 - J1939Tp_Init() was called with an invalid configuration pointer. * - J1939TP_E_PARAM_POINTER - 0x10 - API service called with null pointer. * - J1939TP_E_INVALID_PDU_SDU_ID - 0x11 - API service called with wrong ID. 运行时错误(Runtime error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :header-rows: 1 :stub-columns: 1 * - Error code - Value[hex] - Description * - J1939TP_E_TIMEOUT_T1 - 0x30 - Timeout occurred on receiver side after reception of an intermediate TP.DT frame of a block. * - J1939TP_E_TIMEOUT_T2 - 0x31 - Timeout occurred on receiver side after transmission of a TP.CM/CTS frame. * - J1939TP_E_TIMEOUT_T3 - 0x32 - Timeout occurred on transmitter side after transmission of the last TP.DT frame of a block. * - J1939TP_E_TIMEOUT_T4 - 0x33 - Timeout occurred on transmitter side after reception of a TP.CM/CTS(0) frame. * - J1939TP_E_TIMEOUT_TR - 0x34 - Timeout occurred on transmitter or receiver side while trying to send the next TP.DT or TP.CM frame. * - J1939TP_E_TIMEOUT_TH - 0x35 - Timeout occurred on receiver side while trying to send the next TP.CM/CTS frame after a TP.CM/CTS(0) frame. * - J1939TP_E_INVALID_TMS - 0x40 - Invalid value for "total message size" in received TP.CM/RTS frame. * - J1939TP_E_INVALID_TNOP - 0x41 - Value for "total number of packets" in received TP.CM/RTS frame does not match the "total message size". * - J1939TP_E_INVALID_MNOP - 0x42 - Invalid value for "maximum number of packets" in received TP.CM/RTS frame. * - J1939TP_E_INVALID_PGN - 0x43 - Unexpected PGN in received TP.CM frame. * - J1939TP_E_INVALID_NOP - 0x44 - Invalid value for "number of packets" in received TP.CM/CTS frame. * - J1939TP_E_INVALID_NPN - 0x45 - Invalid value for "next packet number" in received TP.CM/CTS frame. * - J1939TP_E_INVALID_CAR - 0x46 - Invalid value for "connection abort reason" in received TP.Conn_Abort frame. * - J1939TP_E_INVALID_SN - 0x47 - Unexpected serial number in received TP.DT frame. 产品错误(Product error) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ None API接口描述 (API Interface Description) =============================================================== 数据类型定义 (Data Type definition) --------------------------------------------------------------- Std_VersionInfoType类型定义 (Std_VersionInfoType type definition) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 50 50 :header-rows: 1 * - 名称 (Name) - Std_VersionInfoType * - 类型 (Type) - Structure * - 定义 (Define) - typedef struct * - - { * - - uint16 vendorID; * - - uint16 moduleID; * - - uint8 instanceID; * - - uint8 sw_major_version; * - - uint8 sw_minor_version; * - - uint8 sw_patch_version; * - - } Std_VersionInfoType; * - 范围 (Range) - 无 * - 描述 (Description) - 用于描述软件版本信息的结构体类型 (Struct type for describing software version information) Std_ReturnType类型定义 (Std_ReturnType Type Definition) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 50 50 :header-rows: 1 * - 名称 (Name) - Std_ReturnType * - 类型 (Type) - uint8 * - 定义 (Define) - typedef uint8 Std_ReturnType; * - 范围 (Range) - 0 … 255 * - 描述 (Description) - 用于定义J1939Tp模块的函数返回值的派生数据类型 (Data types derived for describing API return value in J1939Tp) PduIdType类型定义 (PduIdType Type Definition) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 50 50 :header-rows: 1 * - 名称 (Name) - PduIdType * - 类型 (Type) - uint16 * - 定义 (Define) - typedef uint16 PduIdType; * - 范围 (Range) - 0 … 65535 * - 描述 (Description) - 用于定义J1939Tp模块的PDU标识符的派生数据类型 (Data types derived for describing PDU identifier in J1939Tp) PduLengthType类型定义 (PduLengthType Type Definition) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 50 50 :header-rows: 1 * - 名称 (Name) - PduLengthType * - 类型 (Type) - uint16 * - 定义 (Define) - typedef uint16 PduLengthType; * - 范围 (Range) - 0 … 65535 * - 描述 (Description) - 用于定义J1939Tp模块的PDU长度的派生数据类型 (Data types derived for describing PDU length in J1939Tp) TpDataStateType类型定义 (TpDataStateType Type Definition) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 50 50 :header-rows: 1 * - 名称 (Name) - TpDataStateType * - 类型 (Type) - Enumeration * - 范围 (Range) - TP_DATACONF = 0U * - - TP_DATARETRY = 1U * - - TP_CONFPENDING = 2U * - 描述 (Description) - 用于定义J1939Tp模块的传输数据状态的枚举类型 (Enumerated type for store the state of transmission data) TPParameterType类型定义 (TPParameterType Type Definition) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 50 50 :header-rows: 1 * - 名称 (Name) - TPParameterType * - 类型 (Type) - Enumeration * - 范围 (Range) - TP_STMIN = 0U * - - TP_BS = 1U * - - TP_BC = 2U * - 描述 (Description) - 用于定义J1939Tp模块的传输参数的枚举类型 (Enumerated type for store the transmission parameter) PduInfoType类型定义 (PduInfoType Type Definition) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 50 50 :header-rows: 1 * - 名称 (Name) - PduInfoType * - 类型 (Type) - Structure * - 定义 (Define) - typedef struct * - - { * - - uint8* SduDataPtr; * - - uint8* MetaDataPtr; * - - PduLengthType SduLength; * - - } PduInfoType; * - 范围 (Range) - 无 * - 描述 (Description) - 用于描述J1939传输层存储PDU信息的结构体类型 (Struct type for describing store PDU information in J1939Tp) RetryInfoType类型定义 (RetryInfoType Type Definition) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 50 50 :header-rows: 1 * - 名称 (Name) - RetryInfoType * - 类型 (Type) - Structure * - 定义 (Define) - typedef struct * - - { * - - TpDataStateType TpDataState; * - - PduLengthType TxTpDataCnt; * - - } RetryInfoType; * - 范围 (Range) - 无 * - 描述 (Description) - 用于描述J1939模块存储重传信息的结构体类型 (Struct type for describing J1939Tp store retry information) BufReq_ReturnType类型定义 (BufReq_ReturnType Type Definition) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: :widths: 50 50 :header-rows: 1 * - 名称 (Name) - BufReq_ReturnType * - 类型 (Type) - Enumeration * - 范围 (Range) - BUFREQ_OK = 0U * - - BUFREQ_E_NOT_OK = 1U * - - BUFREQ_E_BUSY = 2U * - - BUFREQ_E_OVFL = 3U * - 描述 (Description) - 用于定义J1939Tp模块的缓冲区请求返回的枚举类型 (Enumerated type for store the result of a buffer request) 输入函数描述 (Describe the input function:) --------------------------------------------------------------- .. list-table:: :widths: 50 50 :header-rows: 1 * - 输入模块 (Input Module) - API * - CanIf - CanIf_Transmit * - Det - Det_ReportError * - Det - Det_ReportRuntimeError * - PduR - PduR_J1939TpCopyRxData * - PduR - PduR_J1939TpCopyTxData * - PduR - PduR_J1939TpRxIndication * - PduR - PduR_J1939TpStartOfReception * - PduR - PduR_J1939TpTxConfirmation 静态接口函数定义 (Static interface function definition) --------------------------------------------------------------- J1939Tp_Init ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: void J1939Tp_Init(const J1939Tp_ConfigType *ConfigPtr) This function initializes the J1939Tp module. **Sync/Async** Synchronous **Reentrancy** Non Reentrant **Parameters** .. list-table:: :widths: 5 10 30 :header-rows: 1 * - Dir - Name - Description * - [in] - ConfigPtr - Pointer to configuration data structure. **Return type** void J1939Tp_Shutdown ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: void J1939Tp_Shutdown(void) This function is used to shutdown the J1939Tp module. **Sync/Async** Synchronous **Reentrancy** Reentrant **Return type** void J1939Tp_GetVersionInfo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: void J1939Tp_GetVersionInfo(Std_VersionInfoType *VersionInfo) Returns the version information of J1939Tp. **Sync/Async** Reentrant **Reentrancy** Synchronous **Parameters** .. list-table:: :widths: 5 10 30 :header-rows: 1 * - Dir - Name - Description * - [out] - VersionInfo - Pointer to the location where the version information of J1939Tp shall be stored. **Return type** void J1939Tp_Transmit ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: Std_ReturnType J1939Tp_Transmit(PduIdType TxPduId, const PduInfoType *PduInfoPtr) Requests transmission of a PDU. **Sync/Async** Synchronous **Reentrancy** Reentrant for different PduIds. Non reentrant for the same PduId **Parameters** .. list-table:: :widths: 5 10 30 :header-rows: 1 * - Dir - Name - Description * - [in] - TxPduId - Identifier of the PDU to be transmitted * - [in] - PduInfoPtr - Length of and pointer to the PDU data and pointer to MetaData. **Return type** Std_ReturnType **Return values** .. list-table:: :widths: 10 30 :header-rows: 1 * - Name - Description * - E_OK - Transmit request has been accepted. * - E_NOT_OK - Transmit request has not been accepted. J1939Tp_CancelTransmit ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: Std_ReturnType J1939Tp_CancelTransmit(PduIdType TxPduId) Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module. **Sync/Async** Synchronous **Reentrancy** reentrant for different PduIds, Non reentrant for the same PduId. **Parameters** .. list-table:: :widths: 5 10 30 :header-rows: 1 * - Dir - Name - Description * - [in] - TxPduId - identification of the PDU to be cancelled. **Return type** Std_ReturnType **Return values** .. list-table:: :widths: 10 30 :header-rows: 1 * - Name - Description * - E_OK - Cancellation was executed successfully by the destination module. * - E_NOT_OK - Cancellation was rejected by the destination module. J1939Tp_CancelReceive ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: Std_ReturnType J1939Tp_CancelReceive(PduIdType RxPduId) Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module. **Sync/Async** Synchronous **Reentrancy** Non Reentrant **Parameters** .. list-table:: :widths: 5 10 30 :header-rows: 1 * - Dir - Name - Description * - [in] - RxPduId - Identification of the PDU to be cancelled. **Return type** Std_ReturnType **Return values** .. list-table:: :widths: 10 30 :header-rows: 1 * - Name - Description * - E_OK - Cancellation was executed successfully by the destination module. * - E_NOT_OK - Cancellation was rejected by the destination module. J1939Tp_ChangeParameter ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: Std_ReturnType J1939Tp_ChangeParameter(PduIdType id, TPParameterType parameter, uint16 value) Request to change a specific transport protocol parameter (e.g. block size). **Sync/Async** Synchronous **Reentrancy** Non Reentrant **Parameters** .. list-table:: :widths: 5 10 30 :header-rows: 1 * - Dir - Name - Description * - [in] - id - Identification of the PDU which the parameter change shall affect. * - [in] - parameter - ID of the parameter that shall be changed. * - [in] - value - The new value of the parameter. **Return type** Std_ReturnType **Return values** .. list-table:: :widths: 10 30 :header-rows: 1 * - Name - Description * - E_OK - The parameter was changed successfully. * - E_NOT_OK - The parameter change was rejected. J1939Tp_RxIndication ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: void J1939Tp_RxIndication(PduIdType RxPduId, const PduInfoType *PduInfoPtr) Indication of a received PDU from a lower layer communication interface module. **Sync/Async** Synchronous **Reentrancy** Reentrant for different PduIds. Non reentrant for the same PduId. **Parameters** .. list-table:: :widths: 5 10 30 :header-rows: 1 * - Dir - Name - Description * - [in] - RxPduId - ID of the received PDU. * - [in] - PduInfoPtr - Contains the length (SduLength) of the received PDU, a pointer to a buffer (SduDataPtr) containing the PDU, and the MetaData related to this PDU. **Return type** void J1939Tp_TxConfirmation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: void J1939Tp_TxConfirmation(PduIdType TxPduId, Std_ReturnType result) The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU. **Sync/Async** Synchronous **Reentrancy** Reentrant for different PduIds. Non reentrant for the same PduId. **Parameters** .. list-table:: :widths: 5 10 30 :header-rows: 1 * - Dir - Name - Description * - [in] - TxPduId - ID of the PDU that has been transmitted. * - [in] - result - E_OK: The PDU was transmitted. E_NOT_OK: Transmission of the PDU failed. **Return type** void J1939Tp_MainFunction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: void J1939Tp_MainFunction(void) Main function of the J1939Tp. Used for scheduling purposes and timeout supervision. **Sync/Async** Synchronous **Reentrancy** Non Reentrant **Return type** void 可配置回调函数(Configurable callback function) ---------------------------------------------------- .. 可选的章节,根据模块实际情况确定 .. 格式同提供的服务 J1939Tp_MainFunction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: void J1939Tp_MainFunction_(void) This function shall perform the processing of the AUTOSAR J1939Tp activities that are not directly initiated by the calls e.g. from the RTE. There shall be one dedicated Main Function for each channel of J1939Tp. **Sync/Async** Synchronous **Reentrancy** Non Reentrant **Return type** void 配置描述(Configuration Description) ================================================= .. 1. 配置建议以 **功能** 为导向,从 **集成** 的角度,挑重点,常用,典型配置举例讲解。示例中若需要依赖其他模块的配置,也可以截图描述,配置截图不局限于本模块。重点是功能导向,把一件事讲清楚 .. 2. 不必呈现所有容器,配置细节的属性,可能用户不太关心 .. 3. 配置项描述等信息,在工具界面上都能看到 J1939传输层的常规配置(The conventional configuration of the J1939 transport layer) --------------------------------------------------------------------------------------------- .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpGeneral.PNG :name: J1939Tp模块中的常规配置项参数描述 :align: center J1939Tp模块中的常规配置项参数描述(Description of the conventional configuration item parameters in the J1939Tp module) SAE-J1939传输层的常规配置的参数列表(The parameter list for the conventional configuration of the SAE-J1939 transport layer): .. table:: J1939TpGeneral :name: J1939TpGeneral :align: left +----------------------------+------------------------------------------------------------------------------------------------------------------------+ | J1939TpGeneral | Contains the general configuration parameters of the module. | +============================+================+=======================================================================================================+ | J1939TpVersionInfoApi | Description | Pre-processor switch for enabling version info API support. | | +----------------+-------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Type | boolean | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Value Range | false..true | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Default Value | false | +----------------------------+----------------+-------------------------------------------------------------------------------------------------------+ | J1939TpDevErrorDetect | Description | Switches the development error detection and notification on or off. | | +----------------+-------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Type | boolean | | +----------------+-------------+-----------------------------------------------------------------------------------------+ | | Value Range | true | detection and notification is enabled. | | | +-------------+-----------------------------------------------------------------------------------------+ | | | false | detection and notification is disabled. | | +----------------+-------------+-----------------------------------------------------------------------------------------+ | | Default Value | false | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Dependency | Depends on the configuration of Det | +----------------------------+----------------+-------------------------------------------------------------------------------------------------------+ | J1939TpCancellationSupport | Description | Enable transmit and receive cancellation. | | | | The APIs J1939Tp_CancelTransmit() and J1939Tp_CancelReceive() will only be available | | | | when this parameter is enabled. | | +----------------+-------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Type | boolean | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Value Range | false..true | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Default Value | false | +----------------------------+----------------+-------------------------------------------------------------------------------------------------------+ | J1939TpMainFunctionPeriod | Description | Allow to configure the time for the MainFunction (in seconds). | | | | Please note: This configuration value shall be equal to the value in the ScheduleManager module. | | +----------------+-------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Type | Float | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Value Range | 0..INF | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +----------------------------+----------------+-------------------------------------------------------------------------------------------------------+ | J1939TpTxConfTimeout | Description | Timeout in seconds for the CanIf Tx confirmation. | | | | After this time the J1939Tp assumes that an N-PDU could not be transmitted. | | +----------------+-------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Type | Float | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Value Range | 0..INF | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +----------------+-------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +----------------------------+----------------+-------------------------------------------------------------------------------------------------------+ J1939Tp传输层的特定配置(Specific configuration of the J1939Tp transport layer) ----------------------------------------------------------------------------------- .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpConfiguration.PNG :name: J1939Tp模块中的特定配置项参数描述 :align: center J1939Tp模块中的特定配置项参数描述(Specific configuration item parameters in the J1939 transport layer description) SAE-J1939传输层的特定配置的参数列表(The specific configuration parameter list of the SAE-J1939 transport layer): .. table:: J1939TpConfiguration :name: J1939TpConfiguration :align: left +-----------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpConfiguration | This container contains the configuration parameters and sub containers of the AUTOSAR J1939Tp module | +=======================+===================+====================================================================================+ | J1939TpRxChannels | Description | This container describes a reception channel of the J1939Tp module. | | +-------------------+------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+------------------------------------------------------------------------------------+ | | Multiplicity | 0..* | | +-------------------+------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+------------------------------------------------------------------------------------+ | | Dependency | N/A | +-----------------------+-------------------+------------------------------------------------------------------------------------+ | J1939TpTxChannels | Description | This container describes a transmission channel of the J1939Tp module. | | +-------------------+------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+------------------------------------------------------------------------------------+ | | Multiplicity | 0..* | | +-------------------+------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+------------------------------------------------------------------------------------+ | | Dependency | N/A | +-----------------------+-------------------+------------------------------------------------------------------------------------+ J1939TpRxChannel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpRxChannel.PNG :name: J1939Tp模块中的接收通道配置项参数描述 :align: center J1939Tp模块中的接收通道配置项参数描述(The parameter description of the receiving channel configuration item in the J1939Tp module) SAE-J1939传输层的给定接收通道的特定配置参数列表(The specific configuration parameter list for a given receiving channel of the SAE-J1939 transport layer): .. table:: J1939TpRxChannel :name: J1939TpRxChannel :align: left +--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpRxChannel | This container describes a reception channel of the J1939Tp module. | +======================================+===================+========================================================================================================+ | J1939TpRxCancellationSupport | Description | Enable receive cancellation using the API J1939Tp_CancelReceive() for this channel. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Boolean | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | false..true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxDa | Description | Destination address (DA) of this channel. This parameter is only required for channels | | | | with fixed DA which use N-PDUs with MetaData containing the DA. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Integer | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..253 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxDynamicBlockCalculation | Description | Enable dynamic calculation of "number of packets that can be sent" value in TP.CM_CTS, | | | | based on the size of buffers in upper layers reported via StartOfReception and PduR_J1939TpCopyRxData. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Boolean | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | false..true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxDynamicBufferRatio | Description | Percentage of available buffer that shall be used for retry. This parameter is only applicable | | | | when "J1939TpRxRetrySupport" and "J1939TpRxDynamicBlockCalculation" are enabled. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Integer | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..100 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | 80 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | Only applicable when "J1939TpRxRetrySupport" and "J1939TpRxDynamicBlockCalculation" are enabled | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxPacketsPerBlock | Description | Number of TP.DT frames the receiving J1939Tp module allows the sender to send before waiting | | | | for another TP.CM_CTS. This parameter is transmitted in the TP.CM_CTS frame, and is thus only relevant | | | | for reception of messages via CMDT. When J1939TpRxDynamicBlockCalculation is enabled, this parameter | | | | specifies a maximum for the calculated value. | | | | For further details on this parameter value see SAE J1939/21. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Integer | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..255 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | 16 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxProtocolType | Description | Protocol type used by this channel. | | | | This parameter is only required for channels with fixed destination address. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Enumeration | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | J1939TP_PROTOCOL_NONE,J1939TP_PROTOCOL_BAM,J1939TP_PROTOCOL_CMDT | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | J1939TP_PROTOCOL_NONE | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxRetrySupport | Description | Enable support for triggering repetition of failed transmission using TP.CM_CTS | | | | with a packet number that has already been sent. | | | | Retransmission is triggered when a sequence number is missing or a timeout occurs during reception. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Boolean | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | false..true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxSa | Description | Source address (SA) of this channel. This parameter is only required for channels with fixed SA | | | | which use N-PDUs with MetaData containing the SA. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Integer | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..253 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxChannelComMNetworkHandleRef | Description | Reference to the channel defined by the ComMChannel providing access to | | | | the unique channel index ComMChannelId. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Symbolic name reference to ComMChannel | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | Depends on the configuration of ComM | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxCmNPdu | Description | This N-PDU represents the TP.CM frame of a J1939 transport protocol session. TP.CM is used both by BAM | | | | and CMDT to initialize the connection. For CMDT, it is also used to abort the connection. | | | | This N-PDU consumes a meta data item of type CAN_ID_32. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxDtNPdu | Description | This N-PDU represents the TP.DT frame of a J1939 transport protocol session. TP.DT is used both by BAM | | | | and CMDT to transfer the contents of an N-SDU. | | | | This N-PDU consumes a meta data item of type CAN_ID_32. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxPg | Description | Parameter group received by the J1939 transport layer. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1..* | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxFcNPdu | Description | This N-PDU represents the TP.CM frame that is used in reverse direction for a J1939 transport protocol | | | | session using the CMDT protocol type. TP.CM in reverse direction is used for intermediate and | | | | final acknowledgement of received data and to abort the connection. | | | | This N-PDU produces a meta data item of type CAN_ID_32. | | | | Please note: This sub container is only required when J1939Tp RxProtocolType is J1939TP_PROTOCOL_CMDT | | | | or when it is not configured at all. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpRxCmNPdu.PNG :name: J1939Tp模块中的接收通道CM-NPDU配置项参数描述 :align: center J1939Tp模块中的接收通道CM-NPDU配置项参数描述(The configuration item parameters description of the receiving channel CM->NPDU in the J1939Tp module) SAE-J1939传输层的给定接收通道的CM-NPDU配置参数列表(The list of CM->NPDU configuration parameters for the given receiving channel of the SAE-J1939 transport layer): .. table:: J1939TpRxCmNPdu :name: J1939TpRxCmNPdu :align: left +----------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpRxCmNPdu | This N-PDU represents the TP.CM frame of a J1939 transport protocol session. | | | TP.CM is used both by BAM and CMDT to initialize the connection. For CMDT, it is also used to abort the connection. | | | This N-PDU consumes a meta data item of type CAN_ID_32. | +======================+===================+========================================================================================================+ | J1939TpRxCmNPduId | Description | The N-PDU identifier used for communication with CanIf. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | EcucIntegerParamDef (Symbolic Name generated for this parameter) | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..65535 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | withAuto = true | +----------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxCmNPduRef | Description | Reference to the Pdu object representing the N-PDU. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Reference to Pdu | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +----------------------+-------------------+--------------------------------------------------------------------------------------------------------+ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpRxDtNPdu.PNG :name: J1939Tp模块中的接收通道DT-NPDU配置项参数描述 :align: center J1939Tp模块中的接收通道DT-NPDU配置项参数描述(The configuration item parameters of the receiving channel DT->NPDU in the J1939Tp module description) SAE-J1939传输层的给定接收通道的DT-NPDU配置参数列表(The list of DT->NPDU configuration parameters for the given receiving channel of the SAE-J1939 transport layer): .. table:: J1939TpRxDtNPdu :name: J1939TpRxDtNPdu :align: left +----------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpRxDtNPdu | This N-PDU represents the TP.DT frame of a J1939 transport protocol session. | | | TP.DT is used both by BAM and CMDT to transfer the contents of an N-SDU. | | | This N-PDU consumes a meta data item of type CAN_ID_32. | +======================+===================+========================================================================================================+ | J1939TpRxDtNPduId | Description | The N-PDU identifier used for communication with CanIf. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | EcucIntegerParamDef (Symbolic Name generated for this parameter) | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..65535 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | withAuto = true | +----------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxDtNPduRef | Description | Reference to the Pdu object representing the N-PDU. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Reference to Pdu | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +----------------------+-------------------+--------------------------------------------------------------------------------------------------------+ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpRxPg.PNG :name: J1939Tp模块中的接收通道PG配置项参数描述 :align: center J1939Tp模块中的接收通道PG配置项参数描述(The parameter description of the receiving channel PG configuration item in the J1939Tp module) SAE-J1939传输层的给定接收通道的PG配置参数列表(The list of PG configuration parameters for the given receiving channel of the SAE-J1939 transport layer): .. table:: J1939TpRxPg :name: J1939TpRxPg :align: left +----------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpRxPg | Parameter group received by the J1939 transport layer. | +======================+===================+========================================================================================================+ | J1939TpRxPgDynLength | Description | This flag is set to TRUE when the N-SDU refers to a PGN with variable length. | | | | Please note: When this attribute is TRUE, the sub container J1939TpRxDirectNPdu is required. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Boolean | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | false..true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +----------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxPgPGN | Description | PGN of the referenced N-SDUs. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Integer | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..262143 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +----------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxDirectNPdu | Description | This N-PDU represents the short frame that is used for a dynamic length PGN | | | | when it has a length of less that 8 bytes. | | | | This N-PDU consumes a meta data item of type CAN_ID_32. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | This sub container is only necessary when J1939TpRxPgDynLength is TRUE. | +----------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxNSdu | Description | This container describes the parameters that are relevant for the reception of a specific N-SDU. | | | | This N-SDU produces meta data items of type SOURCE_ADDRESS_16, TARGET_ADDRESS_16, and PRIORITY_8. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1..* | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +----------------------+-------------------+--------------------------------------------------------------------------------------------------------+ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpRxDirectNPdu.PNG :name: J1939Tp模块中的接收通道Direct-NPDU配置项参数描述 :align: center J1939Tp模块中的接收通道Direct-NPDU配置项参数描述(The parameter description of the Direct->NPDU configuration item for the receiving channel in the J1939Tp module) SAE-J1939传输层的给定接收通道的PG-Direct-NPDU配置参数列表(The list of PG->Direct->NPDU configuration parameters for the given receiving channel of the SAE J1939 transport layer): .. table:: J1939TpRxDirectNPdu :name: J1939TpRxDirectNPdu :align: left +------------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpRxDirectNPdu | This N-PDU represents the short frame that is used for a dynamic length PGN when it has a length of less that 8 bytes. | | | This N-PDU consumes a meta data item of type CAN_ID_32. | | | Please note: This sub container is only necessary when J1939TpRxPgDynLength is TRUE. | +========================+===================+========================================================================================================+ | J1939TpRxDirectNPduId | Description | The N-PDU identifier used for communication with CanIf. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | EcucIntegerParamDef (Symbolic Name generated for this parameter) | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..65535 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | withAuto = true | +------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxDirectNPduRef | Description | Reference to the Pdu object representing the N-PDU. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Reference to Pdu | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpRxNSdu.PNG :name: J1939Tp模块中的接收通道PG-NSDU配置项参数描述 :align: center J1939Tp模块中的接收通道PG-NSDU配置项参数描述(The configuration item parameters description of the receiving channel PG->NSDU in the J1939Tp module) SAE-J1939传输层的给定接收通道的PG-NSDU配置参数列表(The list of PG->NSDU configuration parameters for the given receiving channel of the SAE-J1939 transport layer): .. table:: J1939TpRxNSdu :name: J1939TpRxNSdu :align: left +------------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpRxNSdu | This container describes the parameters that are relevant for the reception of a specific N-SDU. | | | This N-SDU produces meta data items of type SOURCE_ADDRESS_16,TARGET_ADDRESS_16, and PRIORITY_8. | +========================+===================+========================================================================================================+ | J1939TpRxNSduId | Description | This is a unique identifier for a received N-SDU. | | | | This Id is used in the CancelReceive and ChangeParameter API call. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | EcucIntegerParamDef (Symbolic Name generated for this parameter) | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..65535 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | withAuto = true | +------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxNSduRef | Description | Reference to the Pdu object representing the N-SDU. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Reference to Pdu | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpTxFcNPdu.PNG :name: J1939Tp模块中的接收通道FC-NSPDU配置项参数描述 :align: center J1939Tp模块中的接收通道FC-NSPDU配置项参数描述(The configuration item parameters description of the receiving channel FC->NSPDU in the J1939Tp module) SAE-J1939传输层的给定接收通道的FC-NSDU配置参数列表(The list of FC->NSDU configuration parameters for the given receiving channel of the SAE J1939 transport layer): .. table:: J1939TpTxFcNPdu :name: J1939TpTxFcNPdu :align: left +-------------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpTxFcNPdu | This N-PDU represents the TP.CM frame that is used in reverse direction for a J1939 transport protocol session | | | using the CMDT protocol type. TP.CM in reverse direction is used for intermediate and final acknowledgement of | | | received data and to abort the connection. | | | This N-PDU produces a meta data item of type CAN_ID_32. | | | Please note: This sub container is only required when J1939TpRxProtocolType is J1939TP_PROTOCOL_CMDT or | | | when it is not configured at all. | +=========================+===================+========================================================================================================+ | J1939TpTxFcNPduTxConfId | Description | The N-PDU identifier used for Tx confirmation from CanIf. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | EcucIntegerParamDef (Symbolic Name generated for this parameter) | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..65535 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | withAuto = true | +-------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxFcNPduRef | Description | Reference to the Pdu object representing the N-PDU. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Reference to Pdu | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | Please note: When two channels have identical but exchanged source and destination addresses, the Pdu | | | Dependency | referenced by this parameter is shared with J1939TpTxCmNPduRef of the corresponding J1939TpTxChannel. | +-------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ J1939TpTxChannel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpTxChannel.PNG :name: J1939Tp模块中的发送通道配置项参数描述 :align: center J1939Tp模块中的发送通道配置项参数描述(The parameter description of the transmission channel configuration item in the J1939Tp module) SAE-J1939传输层给发送定通道的配置参数列表(The SAE-J1939 transport layer provides a list of configuration parameters for the designated channels for transmission): .. table:: J1939TpTxChannel :name: J1939TpTxChannel :align: left +--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpTxChannel | This container describes a transmission channel of the J1939Tp module. | +======================================+===================+========================================================================================================+ | J1939TpTxCancellationSupport | Description | Enable transmit cancellation using the API J1939Tp_CancelTransmit() for this channel. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Boolean | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | false..true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxDa | Description | Destination address (DA) of this channel. This parameter is only required for channels | | | | with fixed DA which use N-PDUs with MetaData containing the DA. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Integer | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..253 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxDynamicBlockCalculation | Description | Enable dynamic calculation of "maximum number of packets that can be sent" value in TP.CM_RTS, | | | | based on the available amount of data in upper layers reported via PduR_J1939TpCopyTxData. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Boolean | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | false..true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxMaxPacketsPerBlock | Description | Maximum number of TP.DT frames the transmitting J1939Tp module is ready to send before waiting | | | | for another TP.CM_CTS. This parameter is transmitted in the TP.CM_RTS frame, and is thus only relevant | | | | for transmission of messages via CMDT. When J1939TpTxDynamicBlockCalculation is enabled, | | | | this parameter specifies a maximum for the calculated value. | | | | For further details on this parameter value see SAE J1939/21. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Integer | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 1..255 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | 255 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxProtocolType | Description | Protocol type used by this channel. | | | | This parameter is only required for channels with fixed destination address. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Enumeration | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | J1939TP_PROTOCOL_NONE,J1939TP_PROTOCOL_BAM,J1939TP_PROTOCOL_CMDT | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | J1939TP_PROTOCOL_NONE | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxRetrySupport | Description | Enable support for repetition of failed transmission using TP.CM_CTS | | | | with a packet number that has already been sent. | | | | Retransmission is handled via the retry feature of PduR_J1939TpCopyTxData. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Boolean | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | false..true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxSa | Description | Source address (SA) of this channel. This parameter is only required for channels with | | | | fixed SA which use N-PDUs with MetaData containing the SA. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Integer | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..253 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxChannelComMNetworkHandleRef | Description | Reference to the channel defined by the ComMChannel providing access to | | | | the unique channel index ComMChannelId. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Symbolic name reference to ComMChannel | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | Depends on the configuration of ComM | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxFcNPdu | Description | This N-PDU represents the TP.CM frame that is used in reverse direction for a J1939 transport protocol | | | | session using the CMDT protocol type. TP.CM in reverse direction is used for intermediate and | | | | final acknowledgement of received data and to abort the connection. | | | | This N-PDU consumes a meta data item of type CAN_ID_32. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | Please note: This sub container is only required when J1939Tp RxProtocolType is J1939TP_PROTOCOL_CMDT | | | | or when it is not configured at all. | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxCmNPdu | Description | This N-PDU represents the TP.CM frame of a J1939 transport protocol session. TP.CM is used both by BAM | | | | and CMDT to initialize the connection. For CMDT, it is also used to abort the connection. | | | | This N-PDU produces a meta data item of type CAN_ID_32. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxDtNPdu | Description | This N-PDU represents the TP.DT frame of a J1939 transport protocol session. TP.DT is used both by BAM | | | | and CMDT to transfer the contents of an N-SDU. | | | | This N-PDU produces a meta data item of type CAN_ID_32. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxPg | Description | Parameter group transmitted by the J1939 transport layer. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1..* | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +--------------------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpRxFcNPdu.PNG :name: J1939Tp模块中的发送通道FC-NSPDU配置项参数描述 :align: center J1939Tp模块中的发送通道FC-NSPDU配置项参数描述(The configuration item parameters of the sending channel FC->NSPDU in the J1939Tp module description) SAE-J1939传输层给发送定通道的FC-NPDU配置参数列表(The SAE-J1939 transport layer configures the parameter list for the FC->NPDU of the designated channel for transmission): .. table:: J1939TpRxFcNPdu :name: J1939TpRxFcNPdu :align: left +-------------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpRxFcNPdu | This N-PDU represents the TP.CM frame that is used in reverse direction for a J1939 transport protocol session | | | using the CMDT protocol type. TP.CM in reverse direction is used for intermediate and final acknowledgement of | | | received data and to abort the connection. | | | This N-PDU produces a meta data item of type CAN_ID_32. | | | Please note: This sub container is only required when J1939TpTxProtocolType is J1939TP_PROTOCOL_CMDT or | | | when it is not configured at all. | +=========================+===================+========================================================================================================+ | J1939TpRxFcNPduId | Description | The N-PDU identifier used for communication with CanIf. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | EcucIntegerParamDef (Symbolic Name generated for this parameter) | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..65535 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | withAuto = true | +-------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxFcNPduRef | Description | Reference to the Pdu object representing the N-PDU. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Reference to Pdu | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | Please note: When two channels have identical but exchanged source and destination addresses, the Pdu | | | Dependency | referenced by this parameter is shared with J1939TpRxCmNPduRef of the corresponding J1939TpRxChannel. | +-------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpTxCmNPdu.PNG :name: J1939Tp模块中的发送通道CM-NPDU配置项参数描述 :align: center J1939Tp模块中的发送通道CM-NPDU配置项参数描述(The parameter description of the sending channel CMNPDU configuration item in the J1939Tp module) SAE-J1939传输层给发送定通道的CM-NPDU配置参数列表(The SAE J1939 transport layer configures the parameter list for the sending channel of the CM->NPDU for the CMN): .. table:: J1939TpTxCmNPdu :name: J1939TpTxCmNPdu :align: left +-------------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpTxCmNPdu | This N-PDU represents the TP.CM frame of a J1939 transport protocol session. | | | TP.CM is used both by BAM and CMDT to initialize the connection. For CMDT, it is also used to abort the connection. | | | This N-PDU produces a meta data item of type CAN_ID_32. | +=========================+===================+========================================================================================================+ | J1939TpTxCmNPduTxConfId | Description | The N-PDU identifier used for Tx confirmation from CanIf. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | EcucIntegerParamDef (Symbolic Name generated for this parameter) | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..65535 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | withAuto = true | +-------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxCmNPduRef | Description | Reference to the Pdu object representing the N-PDU. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Reference to Pdu | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +-------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpTxDtNPdu.PNG :name: J1939Tp模块中的发送通道DT-NPDU配置项参数描述 :align: center J1939Tp模块中的发送通道DT-NPDU配置项参数描述(The configuration item parameters of the sending channel DT->NPDU in the J1939Tp module description) SAE-J1939传输层给发送定通道的DT-NPDU配置参数列表(The SAE-J1939 transport layer configures the parameter list for the sending of DT->NPDU on the designated channel): .. table:: J1939TpTxDtNPdu :name: J1939TpTxDtNPdu :align: left +-------------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpTxDtNPdu | This N-PDU represents the TP.DT frame of a J1939 transport protocol session. | | | TP.DT is used both by BAM and CMDT to transfer the contents of an N-SDU. | | | This N-PDU produces a meta data item of type CAN_ID_32. | +=========================+===================+========================================================================================================+ | J1939TpTxDtNPduTxConfId | Description | The N-PDU identifier used for Tx confirmation from CanIf. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | EcucIntegerParamDef (Symbolic Name generated for this parameter) | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..65535 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | withAuto = true | +-------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxDtNPduRef | Description | Reference to the Pdu object representing the N-PDU. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Reference to Pdu | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +-------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpTxPg.PNG :name: J1939Tp模块中的发送通道PG配置项参数描述 :align: center J1939Tp模块中的发送通道PG配置项参数描述(The parameter description of the sending channel PG configuration item in the J1939Tp module) SAE-J1939传输层给发送定通道的PG配置参数列表(The SAE J1939 transport layer provides a configuration parameter list for the sending channel's PG.): .. table:: J1939TpTxPg :name: J1939TpTxPg :align: left +----------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpTxPg | Parameter group transmitted by the J1939 transport layer. | +======================+===================+========================================================================================================+ | J1939TpTxPgDynLength | Description | This flag is set to TRUE when the N-SDU refers to a PGN with variable length. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Boolean | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | false..true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | Please note: When this attribute is TRUE, the sub container J1939TpRxDirectNPdu is required. | +----------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxPgPGN | Description | PGN of the referenced N-SDUs. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Integer | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..262143 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +----------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxDirectNPdu | Description | This N-PDU represents the short frame that is used for a dynamic length PGN | | | | when it has a length of less that 8 bytes. | | | | This N-PDU consumes a meta data item of type CAN_ID_32. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 0..1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | This sub container is only necessary when J1939TpTxPgDynLength is TRUE. | +----------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxNSdu | Description | This container describes the parameters that are relevant for the transmission of a specific N-SDU. | | | | This N-SDU consumes meta data items of type SOURCE_ADDRESS_16, TARGET_ADDRESS_16, and PRIORITY_8. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1..* | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +----------------------+-------------------+--------------------------------------------------------------------------------------------------------+ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpTxDirectNPdu.PNG :name: J1939Tp模块中的发送通道Direct-NPDU配置项参数描述 :align: center J1939Tp模块中的发送通道Direct-NPDU配置项参数描述(The parameter description of the sending channel Direct->NPDU configuration item in the J1939Tp module) SAE-J1939传输层给发送定通道的PG-Direct-NPDU配置参数列表(SAEJ1939 Transport Layer Configures Parameter List for Sent Dedicated Channel PG->Direct->NPDU): .. table:: J1939TpTxDirectNPdu :name: J1939TpTxDirectNPdu :align: left +-----------------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpTxDirectNPdu | This N-PDU represents the short frame that is used for a dynamic length PGN when it has a length of less that 8 bytes. | | | This N-PDU produces a meta data item of type CAN_ID_32. | | | Please note: This sub container is only necessary when J1939TpTxPgDynLength is TRUE. | +=============================+===================+========================================================================================================+ | J1939TpTxDirectNPduTxConfId | Description | The N-PDU identifier used for Tx confirmation from CanIf. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | EcucIntegerParamDef (Symbolic Name generated for this parameter) | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..65535 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | withAuto = true | +-----------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpTxDirectNPduRef | Description | Reference to the Pdu object representing the N-PDU. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Reference to Pdu | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +-----------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ .. figure:: ../../_static/参考手册(Module_Reference_Manual)/J1939Tp/J1939TpTxNSdu.PNG :name: J1939Tp模块中的发送通道PG-NSDU配置项参数描述 :align: center J1939Tp模块中的发送通道PG-NSDU配置项参数描述(The parameter description of the sending channel PG->NSDU configuration item in the J1939Tp module) SAE-J1939传输层给发送定通道的PG-NSDU配置参数列表(SAEJ1939 Transport Layer Configures Parameter List for Sent Fixed Channel PG->NSDU): .. table:: J1939TpTxNSdu :name: J1939TpTxNSdu :align: left +------------------------+----------------------------------------------------------------------------------------------------------------------------+ | J1939TpTxNSdu | This container describes the parameters that are relevant for the reception of a specific N-SDU. | | | This N-SDU consumes meta data items of type SOURCE_ADDRESS_16,TARGET_ADDRESS_16, and PRIORITY_8. | +========================+===================+========================================================================================================+ | J1939TpRxNSduId | Description | The N-SDU identifier used for communication with PduR. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | false | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | EcucIntegerParamDef (Symbolic Name generated for this parameter) | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | 0..65535 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | withAuto = true | +------------------------+-------------------+--------------------------------------------------------------------------------------------------------+ | J1939TpRxNSduRef | Description | Reference to the Pdu object representing the N-SDU. | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | PB Supported | true | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Multiplicity | 1 | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Type | Reference to Pdu | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Value Range | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Default Value | N/A | | +-------------------+--------------------------------------------------------------------------------------------------------+ | | Dependency | N/A | +------------------------+-------------------+--------------------------------------------------------------------------------------------------------+